Dom zvučni Što je skupljač smeća? - definicija iz tehopedije

Što je skupljač smeća? - definicija iz tehopedije

Sadržaj:

Anonim

Definicija - Što znači skupljanje smeća?

Skupljač smeća dio je softvera koji vrši automatsko upravljanje memorijom. Njezin je zadatak osloboditi neiskorištenu memoriju i osigurati da se memorija ne oslobodi dok se još uvijek koristi. Neki jezici kao što su Java i .NET jezici imaju automatsko prikupljanje smeća, dok drugi poput C / C ++ zahtijevaju od programera da ručno upravlja memorijom.

Techopedia objašnjava skupljača smeća

Skupljanje smeća prvi je predstavio kreator Lispa John McCarthy kako bi olakšao ručno upravljanje memorijom tijekom rada s jezikom Lisp.

Tri glavne tehnike koje skupljač smeća koristi za automatsko upravljanje memorijom su sljedeće:

  • Brojanje referenci - referenca na svaki objekt broji se pomoću brojača brojača. Kad brojač dosegne nulu, označava da objekt više nije potreban i stoga se reciklira.
  • Označi i pomesti - na svim podacima područja vrši se rekurzivni presjek svih dostupnih objekata, a označeni su dostižni objekti. Neoznačeni predmeti tada se recikliraju.
  • Zaustavljanje i kopiranje - Memorijska hrpa podijeljena je u dva odjeljka: odjeljak koji sadrži objekte i prazan odjeljak u koji se objekti prenose (kopiraju) ako se ustanovi da su označeni. Neoznačeni predmeti u prvom odjeljku recikliraju se praznim punjenjem.

Kad se oslobodi blok memorije dodijeljen pokazivaču / objektu, pokazivač / objekt mora se vratiti na nultu vrijednost; u protivnom, to je visi, tj. ukazuje na nevaljani blok memorije.

Skupljanje smeća pomaže u smanjenju grešaka i sigurnosnih rizika uzrokovanih visećim pokazivačima i problemima s propuštanjem memorije.

Nedostaci korištenja sakupljača smeća uključuju dodatne režijske resurse i performanse. Pokretanje sakupljača smeća također može usporiti sustav i na taj način smanjiti njegove performanse.

Što je skupljač smeća? - definicija iz tehopedije