Imersão na Alocação de Memória do ZGC: Melhorias com o Cache Mapeado (JDK-8350441)

2025-04-23

Esta publicação mergulha nos detalhes da alocação de memória do heap Java no ZGC, um coletor de lixo do OpenJDK. Destaca as melhorias introduzidas no JDK-8350441 com o Cache Mapeado. O ZGC organiza a memória do heap em páginas (Pequenas, Médias e Grandes) gerenciadas por um Alocador de Páginas e partições. O processo de alocação é explicado meticulosamente, cobrindo o gerenciamento de capacidade, a interação entre memória física e virtual e o papel do Cache Mapeado na otimização da velocidade de alocação e na redução da fragmentação. O artigo detalha o impacto da arquitetura NUMA na alocação de múltiplas partições, compromisso de memória, recuperação e desfragmentação. Finalmente, discute o trade-off entre o tempo de inicialização e a latência em tempo de execução.