Domanda

La prima fase di un marchio-sweep garbage collector è quello di contrassegno (trovare) tutti gli oggetti dal vivo sul mucchio. Per fare questo, ci deve essere un punto di partenza o radice, da cui inizia tutta la marcatura. Come fa GC identificare tali radici?

È stato utile?

Soluzione

Utilizzando la tecnica chiamata set radice enumeratios saranno identificate tutte le radici. Ecco frase dal documento di brevetto Mark-sweep.

Nella prima fase, tutti i riferimenti diretti agli oggetti da programmi in esecuzione può essere identificata. Questi riferimenti sono chiamati radici, oppure insieme una serie radice, e un processo di identificazione tali riferimenti possono essere chiamati insieme radice censimento

Ecco collegamento per documento di brevetto. Mark spazzata collegamento brevetto

Benche 'era di .NET ragazzo, mi sento Nozioni di base di collegamento segno spazzata vi darà buona comprensione su come funziona.

Altri suggerimenti

"Un distinto insieme di oggetti si presume essere raggiungibile: questi sono conosciuti come le radici Tipicamente, questi includono tutti gli oggetti di riferimento da qualsiasi stack di chiamate (cioè, tutte le variabili locali e parametri nel. funzioni attualmente in fase di invocate), e tutte le variabili globali.

Wikipedia

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top