Huis Ontwikkeling Wat is garbage collection (gc)? - definitie van techopedia

Wat is garbage collection (gc)? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Garbage Collection (GC)?

Garbage collection (GC) is een dynamische benadering van automatisch geheugenbeheer en heap-toewijzing die dode geheugenblokken verwerkt en identificeert en opslag opnieuw toewijst voor hergebruik. Het primaire doel van het verzamelen van afval is het verminderen van geheugenlekken.

GC-implementatie vereist drie primaire benaderingen, als volgt:

  • Mark-and-sweep - Als het geheugen vol raakt, lokaliseert de GC alle toegankelijke geheugen en haalt dan het beschikbare geheugen terug.
  • Referentietelling - Toegewezen objecten bevatten een referentietelling van het referentienummer. Wanneer het geheugentelling nul is, is het object afval en wordt het vervolgens vernietigd. De vrijgemaakte herinnering keert terug naar de geheugenhoop.
  • Collectie kopiëren - Er zijn twee geheugenpartities. Als de eerste partitie vol is, lokaliseert de GC alle toegankelijke datastructuren en kopieert deze naar de tweede partitie, waarbij het geheugen wordt gecomprimeerd na het GC-proces en continu vrij geheugen mogelijk wordt gemaakt.

Sommige programmeertalen en platforms met ingebouwde GC (bijv. Java, Lisp, C # en .Net) beheren geheugenlekken zelf, wat een efficiëntere programmering mogelijk maakt.

Techopedia legt Garbage Collection (GC) uit

De dynamische benadering van Garbage Collection voor automatische heap-toewijzing verhelpt veelvoorkomende en kostbare fouten die vaak leiden tot programmafouten in de praktijk wanneer ze niet worden gedetecteerd.

Omdat ze moeilijk te identificeren en te repareren zijn, zijn allocatiefouten duur. Vuilnisophaling wordt daarom door velen beschouwd als een essentiële taalfunctie die het werk van de programmeur gemakkelijker maakt met lager handmatig heap-allocatiebeheer. GC is echter niet perfect en de volgende nadelen moeten worden overwogen:

  • Bij het vrijmaken van geheugen verbruikt GC computerbronnen.
  • Het GC-proces is onvoorspelbaar, wat resulteert in verspreide sessievertragingen.
  • Wanneer ongebruikte objectreferenties niet handmatig worden geplaatst, veroorzaakt GC logische geheugenlekken.
  • GC weet niet altijd wanneer te verwerken in virtuele geheugenomgevingen van moderne desktopcomputers.
  • Het GC-proces werkt slecht samen met cache en virtuele geheugensystemen, wat resulteert in problemen met het afstemmen van prestaties.
Deze definitie is geschreven in de context van algemene programmering
Wat is garbage collection (gc)? - definitie van techopedia