Garbage Collection: Gestione della Memoria Heap in informatica

Garbage Collection: Gestione della Memoria Heap in informatica

Il processo della Garbage Collection (GC) se utilizzate da oggetti non più referenziati dall’applicazione in esecuzione. La specifica Java non impone, nella scelta delle tecniche e degli algoritmi di Garbage Collection, alcun vincolo. Il Garbage Collector deve, in qualche modo, determinare quali oggetti non sono più referenziati da una applicazione e rendere riutilizzabile lo spazio, della memoria heap, occupato dai suddetti oggetti. Tra l’altro, compito del Garbage Collector è quello di combattere il fenomeno della frammentazione dell’area heap. Esistono, chiaramente, una serie di vantaggi indiscussi sfruttando un approccio gestito della memoria; tra questi sicuramente possiamo annoverare l’incremento di produttività e la salvaguardia automatica della memoria, evitando così crash accidentali derivanti da una erronea gestione delle risorse da liberare. In contrapposizione ai suddetti vantaggi, vanno segnalati anche alcune problematiche che emergono nella gestione automatica della memoria: bisogna tener conto dell’overhead introdotto dal dover iterare costantemente l’albero dei riferimenti degli oggetti; l’aleatorietà con cui il processo di Garbage Collection viene schedulato.

Garbage Collection: Gestione della Memoria Heap in informatica

Ogni Garbage Collector deve fondamentalmente eseguire due mansioni:

  1. Riconoscere gli oggetti da segnalare per la Garbage Collection.
  2. Liberare spazio nell’area Heap.

La Garbage Detection tipicamente è e ettuata de nendo un set di root references e determinando la reachability (raggiungibilità) dai roots; un oggetto è raggiungibile se esiste almeno un percorso, attraverso i references, dai roots attraverso cui è accedibile da un programma in esecuzione. Tutti gli oggetti che sono accedibili dai roots sono considerati live, altrimenti Garbage.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *