Domov vývoj Čo je zber odpadu (gc)? - definícia z technológie

Čo je zber odpadu (gc)? - definícia z technológie

Obsah:

Anonim

Definícia - Čo znamená Garbage Collection (GC)?

Zber odpadu (GC) je dynamický prístup k automatickej správe pamäte a prideľovaniu haldy, ktorý spracúva a identifikuje bloky mŕtvej pamäte a opätovne pridelí úložisko na opätovné použitie. Hlavným účelom zberu odpadu je zníženie úniku pamäte.

Implementácia GC si vyžaduje tri primárne prístupy:

  • Mark-and-sweep - Počas procesu, keď sa vyčerpá pamäť, vyhľadá GC všetku dostupnú pamäť a potom získa späť dostupnú pamäť.
  • Počítanie referencií - Pridelené objekty obsahujú referenčný počet referenčných čísel. Ak je počet pamäti nula, je objekt odpadom a potom je zničený. Uvoľnená pamäť sa vráti do haldy pamäte.
  • Zbierka kópií - Existujú dva oddiely pamäte. Ak je prvý oddiel plný, lokalizuje GC všetky prístupné dátové štruktúry a skopíruje ich do druhého oddielu, čím zhutní pamäť po procese GC a umožní nepretržitú voľnú pamäť.

Niektoré programovacie jazyky a platformy so vstavaným GC (napr. Java, Lisp, C # a .Net) samospúšťajú úniky pamäte, čo umožňuje efektívnejšie programovanie.

Techopedia vysvetľuje Garbage Collection (GC)

Dynamický prístup k zberu odpadu k automatickému prideľovaniu haldy rieši bežné a nákladné chyby, ktoré v prípade nezistenia často vedú k programovým chybám v skutočnom svete.

Pretože je ťažké ich identifikovať a opraviť, chyby pri prideľovaní sú nákladné. Zber odpadu je preto mnohými považovaný za podstatnú jazykovú funkciu, ktorá uľahčuje prácu programátora pri nižšom manuálnom prideľovaní haldy. GC však nie je dokonalý a mali by sa zvážiť nasledujúce nevýhody:

  • Pri uvoľňovaní pamäte GC spotrebúva výpočtové zdroje.
  • Proces GC je nepredvídateľný, čo má za následok oneskorenie rozptýlených relácií.
  • Ak nepoužívané odkazy na objekty nie sú manuálne zlikvidované, GC spôsobuje logické úniky pamäte.
  • GC nie vždy vie, kedy spracovať v prostrediach virtuálnej pamäte moderných stolových počítačov.
  • Proces GC zle interaguje so systémami vyrovnávacej pamäte a virtuálnej pamäte, čo má za následok problémy s ladením výkonu.
Táto definícia bola napísaná v kontexte všeobecného programovania
Čo je zber odpadu (gc)? - definícia z technológie