Red de conocimiento informático - Material del sitio web - Cómo entender las áreas eden y survival de jvm y gc

Cómo entender las áreas eden y survival de jvm y gc

Para comprender las áreas de Edén y Supervivientes, es necesario comprender el algoritmo de replicación en el algoritmo de recolección de basura.

El algoritmo de replicación divide el área en dos partes, una es espacio reservado y la otra es espacio usado. Cuando se produce la recolección de basura, lo primero que debe hacer es verificar qué objetos están vivos en el espacio utilizado. Después de verificar los objetos, copie los objetos supervivientes en el espacio reservado (la ventaja de copiar es que puede reducir la cantidad de fragmentos de memoria). Si limpia directamente el espacio utilizado (los fragmentos de memoria estarán muy dispersos) y luego limpia el espacio utilizado. ) y luego limpie el espacio utilizado.

Este eden equivale a usar espacio, y sobreviviente es equivalente a espacio reservado. Por lo general, eden será mucho más grande que sobreviviente, porque tanto eden como sobreviviente pertenecen a la nueva generación (y para la generación anterior, JVM). dividirá el montón en la nueva generación y la nueva generación), los objetos de la nueva generación generalmente nacen, envejecen, enferman y mueren, por lo que no muchos sobreviven, por lo que es mejor mantener el espacio más pequeño.

GC, es decir, la recolección de basura, es una característica importante del lenguaje Java. No es necesario que nosotros mismos liberemos manualmente el espacio de objetos que generamos. El propio subproceso GC de la jvm nos ayudará a limpiar los objetos no utilizados.