Sobes.tech
Junior — Middle

Podes listar as diferentes gerações de recolha de lixo e explicar as suas características?

sobes.tech IA

Resposta da IA

No Java, o coletor de lixo (Garbage Collector) geralmente divide a memória em gerações para otimizar a limpeza:

  1. Geração Jovem (Young Generation) — aqui entram objetos recém-criados. A coleta de lixo aqui ocorre frequentemente, mas rapidamente, pois a maioria dos objetos se torna inútil rapidamente.

  2. Geração Intermediária (Tenured ou Old Generation) — objetos que sobreviveram a vários ciclos de limpeza na geração jovem são movidos para cá. A coleta de lixo aqui ocorre com menos frequência, mas leva mais tempo.

  3. Geração de Objetos Permanentes (Permanent Generation ou Metaspace nas versões mais recentes) — armazena metadados de classes e outras informações de serviço.

Esse tipo de divisão permite gerenciar a memória de forma eficiente, minimizando pausas na coleta de lixo e melhorando o desempenho da aplicação.