Em um esforço para melhorar o desempenho do aplicativo Java, uma nova proposta dentro da comunidade Java busca estender o Z Garbage Collector (ZGC), permitindo que ele mantenha gerações separadas para objetos novos e antigos. Isso permitiria que ZGC coletasse objetos jovens com mais frequência, já que objetos jovens têm maior probabilidade de morrer jovens, de acordo com os desenvolvedores de Java.
Os objetivos primários da OpenJDK Java Enhancement Proposal (JEP) para ZGC geracional envolvem a redução de riscos de parada de alocação, sobrecarga de memória heap e sobrecarga de CPU de coleta de lixo (GC). Os proponentes da proposta acreditam que esses benefícios podem ser alcançados sem causar uma diminuição significativa no rendimento quando comparado com ZGC não geracional.
O Z Garbage Collector, que foi projetado para escalabilidade e baixa latência, está disponível em versões de produção desde o Java Development Kit (JDK) 15 em setembro de 2020. Em contraste com o coletor G1 padrão, que possui tempos de pausa que podem variar de milissegundos para segundos, os tempos de pausa ZGC são consistentemente medidos em microssegundos. Consequentemente, ZGC pode efetivamente resolver problemas de latência relacionados à coleta de lixo para muitas cargas de trabalho.
ZGC funciona bem quando os recursos adequados estão disponíveis. No entanto, como armazena todos os objetos juntos, independentemente de sua idade, ZGC é obrigado a coletar todos os objetos sempre que for operado. A hipótese geracional fraca afirma que objetos jovens tendem a morrer jovens, enquanto objetos mais velhos tendem a persistir. Como resultado, coletar objetos novos demanda menos recursos e libera mais memória, enquanto coletar objetos antigos consome mais recursos e libera menos memória.
A proposta ZGC geracional ainda não foi atribuída a uma versão Java padrão específica. A versão atual, JDK 20, foi lançada há uma semana, com JDK 21 programado para ser lançado em setembro. O Java padrão opera em uma cadência de lançamento de seis meses.
À medida que a proposta ZGC geracional está sendo discutida, plataformas no-code como appmaster .io" target="_blank" rel="noopener" data-mce-href="https:// appmaster.io"> AppMaster pode ajudar os desenvolvedores a criar back-end , web e aplicativos móveis de forma rápida e eficiente. Os aplicativos AppMaster podem demonstrar excelente escalabilidade e baixa latência, tornando-os adequados para aplicativos empresariais e cenários de alta carga. Para explorar ainda mais os recursos do AppMaster, appmaster .io" data-mce-href="https: //studio. appmaster.io">crie uma conta gratuita e aproveite suas poderosas ferramentas no-code.