Domov Zvok Kaj je zbiralnik smeti? - definicija iz tehopedije

Kaj je zbiralnik smeti? - definicija iz tehopedije

Kazalo:

Anonim

Opredelitev - Kaj pomeni zbiralnik smeti?

Zbiralnik smeti je del programske opreme, ki izvaja samodejno upravljanje pomnilnika. Njegova naloga je osvoboditi neuporabljeni pomnilnik in zagotoviti, da se spomin ne sprosti, ko je še vedno v uporabi. Nekateri jeziki, kot sta Java in .NET, imajo samodejno zbiranje smeti, medtem ko drugi, na primer C / C ++, od programerja potrebujejo ročno upravljanje pomnilnika.

Tehopedija razlaga zbiralca smeti

Zbiranje smeti je prvič predstavil ustvarjalec Lispa John McCarthy za lažje ročno upravljanje pomnilnika pri delu z jezikom Lisp.

Tri glavne tehnike, ki jih zbiralnik smeti uporablja za samodejno upravljanje pomnilnika, so naslednje:

  • Referenčno štetje - Sklicevanje na vsak predmet se šteje s pomočjo številske spremenljivke. Ko števec doseže nič, označuje, da predmet ni več potreben in se tako reciklira.
  • Označevanje in pomikanje - na vseh podatkovnih območjih se izvede rekurzivni prehod vseh dosegljivih predmetov in označeni dosegljivi predmeti. Označeni predmeti se nato reciklirajo.
  • Ustavi in ​​kopiraj - Košček pomnilnika je razdeljen na dva dela: razdelek, ki vsebuje predmete, in prazen odsek, kamor se predmeti prenesejo (kopirajo), če se ugotovi, da so označeni. Označeni predmeti v prvem razdelku se reciklirajo tako, da jih izpraznijo.

Ko se sprosti blok pomnilnika, dodeljen kazalcu / predmetu, mora biti kazalec / predmet ponastavljen na ničelno vrednost; v nasprotnem primeru je viseča, torej kaže na neveljaven pomnilniški blok.

Zbiranje smeti pomaga zmanjšati napake in varnostna tveganja, ki jih povzročajo viseči kazalci in težave s puščanjem spomina.

Pomanjkljivosti uporabe zbiralnika smeti vključujejo dodatne stroške virov in zmogljivosti. Tudi zagon smeti lahko upočasni sistem in s tem zmanjša njegovo delovanje.

Kaj je zbiralnik smeti? - definicija iz tehopedije