¿Qué es la generación joven?
La generación joven es donde todos los objetos nuevos se asignan y envejecen. Cuando la generación joven se llena, esto provoca una recolección menor de basura. Una generación joven llena de objetos muertos se recoge muy rápidamente. Algunos objetos sobrevivientes son viejos y eventualmente se trasladan a la vieja generación.
¿Qué es la vieja generación?
La Old Generation se usa para almacenar objetos de larga vida. Normalmente, se establece un umbral para el objeto de generación joven y cuando se cumple esa edad, el objeto se mueve a la generación anterior. Finalmente, la vieja generación necesita ser recogida. Este evento se llama recolección de basura principal
¿Qué es la generación permanente?
La generación permanente contiene metadatos requeridos por la JVM para describir las clases y los métodos utilizados en la aplicación. La generación permanente es poblada por la JVM en tiempo de ejecución en función de las clases en uso por la aplicación.
PermGen ha sido reemplazado por Metaspace desde el lanzamiento de Java 8.
Los parámetros PermSize y MaxPermSize serán ignorados ahora
¿Cómo interactúan / se relacionan las tres generaciones entre sí?
Fuente de imagen y artículo de tutorial de oracle technetwork: http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html
" El proceso general de recolección de basura " en el artículo anterior explica las interacciones entre ellos con muchos diagramas.
Echa un vistazo al diagrama de resumen: