Ho una domanda sulle radici GC. Ho letto che su GC roots è "Live thread". Cosa significa? Ho sempre avuto l'impressione che ogni thread abbia il proprio stack e le variabili locali di uno stack sono le radici GC per thread e ora sono confuso. Quali altri tipi di riferimenti agli oggetti, che non sono sullo stack dei frame o sullo stack nativo, hanno la rappresentazione dei thread?Thread come root GC
Un'altra domanda è che la raccolta di giovani generazioni utilizza le radici di GC, oppure è solo per i principali algoritmi?
Grazie
Aggiornamento: Ok scusa, in modo da mantenere le cose semplici: ho letto questo breve articolo: yourkit.com/docs/java/help/gc_roots.jsp e c'è un opzione "filo" come GC root, cosa significa esattamente che thread è una radice GC? Che tipo di oggetti sono referenziati da Thread GC root, a cui non fa riferimento il suo stack? Perché queste due categorie sono diverse?
La tua domanda è confusa. 1) Naturalmente solo i thread live contano per le radici GC. 2) Cos'è una "rappresentazione del thread"? 3) Le variabili statiche sono radici GC non stack. 4) Ogni variante GC prende in considerazione le radici di GC; è impossibile * non * tenerne conto. –
Ok scusa, per semplificare: ho letto questo breve articolo: http://www.yourkit.com/docs/java/help/gc_roots.jsp e c'è l'opzione "Thread" come root GC, che cosa esattamente significa che thread è una radice di GC? Che tipo di oggetti sono referenziati da Thread GC root, a cui non fa riferimento il suo stack? Perché queste due categorie sono diverse? – alobodzk
@MarkoTopolnik Non penso che le variabili statiche siano root, altrimenti i loaders delle classi non scaricheranno mai. –