Namai Garsas Kas yra šiukšlių surinkėjas? - apibrėžimas iš techopedijos

Kas yra šiukšlių surinkėjas? - apibrėžimas iš techopedijos

Turinys:

Anonim

Apibrėžimas - ką reiškia šiukšlių surinkėjas?

Šiukšlių surinkėjas yra programinės įrangos dalis, kuri vykdo automatinį atminties valdymą. Jos užduotis yra išlaisvinti nenaudojamą atmintį ir užtikrinti, kad, kol ji vis dar naudojama, jokia atmintis neišlaisvėtų. Kai kuriose kalbose, tokiose kaip „Java“ ir .NET kalbose, yra automatinis šiukšlių rinkimas, tuo tarpu kitose, tokiose kaip C / C ++, programuotojui reikia rankiniu būdu valdyti atmintį.

„Techopedia“ paaiškina šiukšlių surinkėją

Šiukšlių rinkimą pirmą kartą pristatė „Lisp“ kūrėjas Johnas McCarthy, norėdamas palengvinti rankinį atminties valdymą dirbdamas su „Lisp“ kalba.

Trys pagrindiniai būdai, kuriuos šiukšlių surinkėjas naudoja automatiniam atminties valdymui atlikti, yra šie:

  • Nuorodų skaičiavimas - kiekvieno objekto nuoroda suskaičiuojama naudojant skaitiklio kintamąjį. Kai skaitiklis pasiekia nulį, jis reiškia, kad daiktas yra nebereikalingas ir todėl yra perdirbamas.
  • Pažymėti ir nušluoti - visų pasiekiamų objektų rekursinis apvažiavimas vykdomas visuose duomenų regionuose, o pasiekiami objektai yra pažymėti. Tada nepažymėti objektai yra perdirbami.
  • Sustabdyti ir nukopijuoti - atminties krūva yra padalinta į dvi dalis: skyrių, kuriame yra objektai, ir tuščią skyrių, kuriame objektai yra perkeliami (nukopijuojami), jei nustatoma, kad jie yra pažymėti. Pirmame skyriuje nepažymėti objektai yra perdirbami ištuštinant.

Atleidus žymekliui / objektui priskirtą atminties bloką, žymeklis / objektas turi būti atstatyti į nulinę vertę; priešingu atveju jis kabo, ty nurodo netinkamą atminties bloką.

Šiukšlių rinkimas padeda sumažinti klaidas ir saugumo riziką, kylančią dėl kabančių rodyklių ir atminties nutekėjimo problemų.

Šiukšlių surinkėjo naudojimo trūkumai yra papildomos išlaidos ištekliams ir našumui. Vykdydami šiukšlių surinkėją, sistema taip pat gali sulėtėti ir pablogėti.

Kas yra šiukšlių surinkėjas? - apibrėžimas iš techopedijos