Casa Sviluppo Che cos'è la garbage collection (gc)? - definizione da techopedia

Che cos'è la garbage collection (gc)? - definizione da techopedia

Sommario:

Anonim

Definizione - Cosa significa Garbage Collection (GC)?

Garbage Collection (GC) è un approccio dinamico alla gestione automatica della memoria e all'allocazione dell'heap che elabora e identifica i blocchi di memoria morta e rialloca la memoria per il riutilizzo. Lo scopo principale della garbage collection è ridurre le perdite di memoria.

L'implementazione del GC richiede tre approcci primari, come segue:

  • Mark-and-sweep: in fase di esaurimento della memoria, il GC individua tutta la memoria accessibile e quindi recupera la memoria disponibile.
  • Conteggio dei riferimenti: gli oggetti allocati contengono un conteggio dei riferimenti del numero di riferimento. Quando il conteggio della memoria è zero, l'oggetto è immondizia e viene quindi distrutto. La memoria liberata ritorna all'heap di memoria.
  • Raccolta copie: esistono due partizioni di memoria. Se la prima partizione è piena, il GC individua tutte le strutture di dati accessibili e le copia nella seconda partizione, compattando la memoria dopo il processo GC e consentendo memoria libera continua.

Alcuni linguaggi di programmazione e piattaforme con GC integrato (ad es. Java, Lisp, C # e .Net) autodistruggono perdite di memoria, consentendo una programmazione più efficiente.

Techopedia spiega Garbage Collection (GC)

L'approccio dinamico di Garbage Collection all'allocazione automatica dell'heap affronta errori comuni e costosi che spesso non rilevano difetti del programma nel mondo reale.

Poiché sono difficili da identificare e riparare, gli errori di allocazione sono costosi. Pertanto, la garbage collection è considerata da molti come una caratteristica linguistica essenziale che semplifica il lavoro del programmatore con una gestione manuale dell'allocazione dell'heap più bassa. Tuttavia, GC non è perfetto e devono essere considerati i seguenti inconvenienti:

  • Quando si libera la memoria, GC consuma risorse di elaborazione.
  • Il processo GC è imprevedibile, con conseguenti ritardi di sessione sparsi.
  • Quando i riferimenti a oggetti non utilizzati non vengono eliminati manualmente, GC causa perdite di memoria logica.
  • GC non sempre sa quando elaborare all'interno di ambienti di memoria virtuale dei moderni computer desktop.
  • Il processo GC interagisce male con i sistemi di cache e memoria virtuale, con conseguenti difficoltà di ottimizzazione delle prestazioni.
Questa definizione è stata scritta nel contesto della programmazione generale
Che cos'è la garbage collection (gc)? - definizione da techopedia