O recolector de lixo Java é un dos conceptos que máis custa comprender a xente cando comeza a programar en Java. Como funciona exactamente o coleccionista de lixo Java? Java divide a memoria en dous bloques fundamentais, a nova xeración e a vella xeración.
Na área de nova xeración o Os obxectos que acaban de almacenar no programa están almacenados. Esta área de memoria está dividida en Eden Space, Survivor Space (S0 e S1)
A área de Eden é a área na que os obxectos que acabamos de almacenar están almacenados.
cando o colector Os pasos de lixo, eliminan todos os obxectos que xa non teñen referencias en Eden Space e sobreviventes movelos ao espazo de supervivencia.
O colector de lixo volverá a pasar de novo e, se hai un obxecto de superviviente no Survivor Space S0 moverase a Survivor S1
Despois de varios pasos pasados do colector de lixo, os obxectos que aínda están vivos no Survivor Space deixan de ser considerado novo xeración e considérase considerada a vella xeración.
Java Garbage Colector Antigo Xeración
Como funciona a área de vella xeración?. Esta área está dividida en dúas partes, a primeira chámase a xeración de tened e é onde se almacenan obxectos que teñen un ciclo de longa vida. A segunda zona chámase xeración permanente e é onde as clases Java que as necesidades JVM están cargadas.
Entón, cando nós teñen obxectos que sobreviviron a varios recolectores de lixo pasan do espazo de xeración de superviventes ao espazo de xeración de titularidade.
Finalmente o colector de lixo tamén percorrerá o espazo titular para liberar obxectos. Esta operación farase de forma moito máis espaciada e cando o espazo está prácticamente cheo.
para ampliar información: Oracle Java Garbage Collector
Outros artigos relacionados: Java Colección Performance, Java Interface de fluído, Threads Java