Coletor de lixo Java

O coletor de lixo Java é um dos conceitos que mais custam as pessoas quando começa a programar em Java. Como funciona o coletor de lixo Java exatamente? Java divide a memória em dois blocos fundamentais, geração jovem e geração antiga.

na área de geração jovem Objetos que acabaram de ser armazenados no programa são armazenados. Esta área de memória é dividida em EDEN espaço, espaço de sobrevivência (S0 e S1)

Java coletor de lixo Eden

a área do Éden é a área em que os objetos que acabamos de ser armazenados são armazenados.

Eden Use Java Larbage Collector

quando o coletor O lixo passa, elimine todos os objetos que não têm mais referências no Espaço do Éden e sobreviventes movê-los para o espaço sobrevivente.

Sobrevivente Java Lixo coletor

O coletor de lixo passará novamente e se houver um objeto de sobrevivente no espaço Survivor S0 irá movê-lo para sobrevivente S1

sobrevivente2 Java coletor de lixo

Após vários passes passados do coletor de lixo, os objetos que ainda estão vivos no espaço do sobrevivente deixam de ser considerados geração jovem e se tornarem consideradas antigas gerações.

Java coletor de lixo

Como funciona a área de geração antiga?. Esta área é dividida em duas partes, a primeira é chamada de geração de mandados e é onde objetos que têm um longo ciclo de vida são armazenados. A segunda zona é chamada de geração permanente e é onde as classes Java que as necessidades da JVM são carregadas.

Então, quando tem objetos que sobreviveram a vários coletores de lixo passarem do espaço de geração de sobrevivência para o espaço de geração de mandados.

Java coletor de lixo Final permanente

Finalmente, o colecionador de lixo também passará pelo espaço do mandado para liberar objetos. Esta operação será feita de uma forma muito mais espaçada e quando o espaço estiver praticamente cheio.

Para ampliar Informações: Oracle Java Garbage Collector

Outros artigos relacionados: Java Collection Performance, Java Interface fluida, threads java

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *