Qual é a geração jovem?
A Geração Jovem é onde todos os novos objetos são alocados e envelhecidos. Quando a geração jovem se enche, isso causa uma pequena coleta de lixo. Uma geração jovem cheia de objetos mortos é coletada muito rapidamente. Alguns objetos sobreviventes são envelhecidos e, eventualmente, passam para a geração antiga.
Qual é a geração antiga?
A geração antiga é usada para armazenar objetos que sobreviveram por muito tempo. Normalmente, um limite é definido para o objeto de geração jovem e, quando essa idade é atingida, o objeto é movido para a geração antiga. Eventualmente, a geração antiga precisa ser coletada. Esse evento é chamado de coleta de lixo principal
Qual é a geração permanente?
A geração Permanente contém metadados exigidos pela JVM para descrever as classes e métodos utilizados no aplicativo. A geração permanente é preenchida pela JVM em tempo de execução com base nas classes em uso pelo aplicativo.
O PermGen foi substituído pelo Metaspace desde o lançamento do Java 8.
Os parâmetros PermSize e MaxPermSize serão ignorados agora
Como as três gerações interagem / se relacionam?
Artigo de tutorial sobre fonte de imagem e oracle technetwork: http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html
" O processo geral de coleta de lixo " no artigo acima explica as interações entre eles com muitos diagramas.
Dê uma olhada no diagrama resumido: