O segundo recurso, a expansão tardia das barreiras, visa simplificar a implementação das barreiras do G1. As barreiras do coletor de lixo registram informações sobre os acessos à memória do aplicativo, mudando sua expansão do início do pipeline de compilação C2 para mais tarde. Os objetivos incluem reduzir o tempo de execução da compilação C2 ao usar o coletor G1, tornar as barreiras G1 compreensíveis para desenvolvedores de HotSpot que não possuem um conhecimento profundo de C2 e garantir que C2 preserve invariantes sobre a ordem relativa de acessos à memória, pontos seguros e barreiras. Um quarto recurso é preservar a qualidade do código compilado JIT (just-in-time) gerado em C2, em termos de velocidade e tamanho.

Recursos adicionais direcionados ao JDK 24 serão determinados durante os próximos meses. Os recursos potenciais do Java 24 incluem visualizações adicionais ou versões finais de recursos que estão sendo visualizados no JDK 23. Isso inclui a API de arquivo de classe, para analisar, gerar e transformar arquivos de classe Java; coletores de fluxo, para aprimorar a API de fluxo para operações intermediárias personalizadas; declarações de importação de módulo, para importar de forma sucinta todos os pacotes exportados por um módulo e simplificar a reutilização de bibliotecas modulares; simultaneidade estruturada, para simplificar a programação simultânea; valores com escopo definido, para compartilhar dados imutáveis; e corpos de construtores flexíveis, dando aos desenvolvedores maior liberdade para expressar o comportamento dos construtores.

Outro recurso em pré-visualização no JDK 23 e um concorrente para o JDK 24 são os tipos primitivos em padrões, instanceof e switch, que visam aprimorar a correspondência de padrões, permitindo padrões de tipos primitivos em todos os contextos de padrões e estender instanceof e switch para trabalhar com todos os tipos primitivos. Outro recurso possível do JDK 24 é a API de vetor, agora em um oitavo estágio de incubação no JDK 23. A API de vetor é voltada para expressar cálculos vetoriais que expressam de forma confiável em tempo de execução instruções de vetor ideais em arquiteturas de CPU suportadas. Carregamento de classe antecipado, um recurso projetado para acelerar inicializações Java, e modelos de string, um recurso visualizado no JDK 21 e JDK 22, mas retirado do JDK 23, também pode ser direcionado para o JDK 24.