Dom Razvoj Što je skupljanje smeća (gc)? - definicija iz tehopedije

Što je skupljanje smeća (gc)? - definicija iz tehopedije

Sadržaj:

Anonim

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

Skupljanje smeća (GC) dinamičan je pristup automatskom upravljanju memorijom i raspoređivanju hepa koji obrađuje i identificira mrtve memorijske blokove i preraspodjeljuje pohranu radi ponovne uporabe. Osnovna svrha sakupljanja smeća je smanjenje propuštanja memorije.

Provedba GC-a zahtijeva tri primarna pristupa, kako slijedi:

  • Označivanje i uklanjanje - U tijeku kada se memorija potroši, GC locira svu dostupnu memoriju i zatim vraća raspoloživu memoriju.
  • Brojanje referenci - Dodijeljeni objekti sadrže referentni broj referentnog broja. Kad je broj memorije jednak nuli, predmet se smeće i uništava. Oslobođena memorija vraća se u hrpu memorija.
  • Kopiranje zbirke - Postoje dvije memorijske particije. Ako je prva particija puna, GC pronalazi sve dostupne podatkovne strukture i kopira ih na drugu particiju, kompaktirajući memoriju nakon GC procesa i omogućava kontinuiranu slobodnu memoriju.

Neki programski jezici i platforme s ugrađenim GC-om (npr. Java, Lisp, C # i .Net) samostalno upravljaju propuštanjem memorije, omogućujući učinkovitije programiranje.

Techopedia objašnjava skupljanje smeća (GC)

Dinamičan pristup sakupljanju smeća automatski raspodjelu hrpe rješava uobičajene i skupe pogreške koje često ne prepoznaju nedostatke u stvarnom svijetu.

Budući da ih je teško identificirati i popraviti, pogreške u raspodjeli su skupe. Stoga prikupljanje smeća mnogi smatraju bitnom jezičnom značajkom koja olakšava posao programera uz niže ručno upravljanje raspodjelom hrpe. Međutim, GC nije savršen i treba uzeti u obzir sljedeće nedostatke:

  • Kada oslobađa memoriju, GC troši računalne resurse.
  • Proces GC-a je nepredvidiv, što rezultira raštrkanim kašnjenjima sesija.
  • Kada se neiskorištene reference predmeta ručno ne odlažu, GC uzrokuje istjecanje logičke memorije.
  • GC ne zna uvijek kada treba obraditi unutar virtualnih memorijskih okruženja modernih stolnih računala.
  • GC proces slabo funkcionira sa sustavom predmemorije i virtualne memorije što rezultira poteškoćama u podešavanju performansi.
Ova je definicija napisana u kontekstu Općeg programiranja
Što je skupljanje smeća (gc)? - definicija iz tehopedije