Colectorul de gunoi Java este unul dintre conceptele care costă cel mai mult pentru a înțelege oamenii atunci când începe să programeze în Java. Cum funcționează exact colecția de gunoi Java? Java împarte memoria în două blocuri fundamentale, generația tânără și generația veche.
în zona tânără de generație Obiectele care tocmai au fost stocate în program sunt stocate. Această zonă de memorie este împărțită în spațiul Eden, spațiu de supraviețuitor (S0 și S1)
Zona Edenului este zona în care obiectele pe care tocmai am fost stocate sunt stocate.
când colectorul Gunoiul trece, elimina toate obiectele care nu mai au referințe în spațiul Eden și supraviețuitorii le mișcă în spațiu supraviețuitor.
Colectorul de gunoi va trece din nou și dacă există un obiect de supraviețuitor în spațiul de supraviețuitor S0 se va muta la supraviețuitor S1
După mai multe treceri trecute ale colectorului de gunoi, obiectele care sunt încă în viață în spațiul de supraviețuitor încetează să fie considerate generații tinere și să fie considerate generații vechi.
Java Garbage Colector Vechi
Cum funcționează zona veche de generație?. Această zonă este împărțită în două părți, prima se numește generație tenuală și este în cazul în care obiectele care au un ciclu de viață îndelungat sunt stocate. A doua zonă se numește generație permanentă și este locul în care sunt încărcate clasele JVA pe care le este încărcate Au obiecte care au supraviețuit mai multor colectori de gunoi trec de la spațiul de generare a supraviețuitorului la spațiul de generație de tentativă.
În cele din urmă, colectorul de gunoi va trece, de asemenea, prin spațiul tendurat pentru a elibera obiecte. Această operație se va face într-un mod mult mai dispărut și când spațiul este practic plin.
pentru a mări informații: Oracle Java Garbage Colector
Alte articole conexe: Java Collection Performance, Java Interfață fluidă, fire Java