Com o Java Development Kit (JDK) 23 previsto para chegar em 17 de setembro, o trabalho já começou no JDK 24, com o primeiro recurso, restringindo o uso de JNI (Java Native Interface), direcionado para o lançamento. Uma infinidade de outros recursos, incluindo muitos já em pré-visualização no JDK 23, também são possíveis para inclusão.
Com previsão de lançamento para março de 2025, o JDK 24 foi designado como uma versão sem suporte de longo prazo (LTS), o que significa que, assim como o JDK 23, ele receberá apenas seis meses de suporte de nível Premier da Oracle.
O primeiro recurso direcionado ao JDK 24, oficialmente chamado de “Prepare to Restrict the Use of JNI”, pede a emissão de avisos sobre os usos do JNI e o ajuste da API Foreign Function and Memory (FFM), apresentada no JDK 22, para emitir avisos de forma consistente. Esses avisos têm como objetivo preparar uma versão futura que garanta a integridade por padrão, restringindo uniformemente o JNI e a API FFM. Os objetivos do plano incluem preservar o JNI como uma maneira padrão de interoperar com código nativo, preparar o ecossistema Java para versões futuras que não permitem a interoperação com código nativo por padrão e alinhar o uso do JNI e da API FFM para que os mantenedores da biblioteca possam migrar de um para o outro sem exigir que os desenvolvedores alterem as opções de linha de comando.
Recursos adicionais direcionados ao JDK 24 serão determinados durante os próximos meses. Os recursos potenciais do Java 24 incluem mais prévias ou lançamentos finais de recursos que estão sendo pré-visualizados no JDK 23. Eles incluem 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 sucintamente 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, para compartilhar dados imutáveis; e corpos de construtor 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 possível recurso do JDK 24 é a API de vetores, agora em um oitavo estágio de incubação no JDK 23. A API de vetores é voltada para expressar computações de vetores que expressam de forma confiável em tempo de execução para instruções de vetores ideais em arquiteturas de CPU suportadas. O carregamento de classe com antecedência, um recurso projetado para acelerar as inicializações do Java, e os modelos de string, um recurso visualizado no JDK 21 e JDK 22, mas retirado do JDK 23, também podem ser direcionados ao JDK 24.
O lançamento mais recente do LTS, JDK 21, chegou em setembro de 2023 e deve receber pelo menos cinco anos de suporte Premier da Oracle. A próxima versão do LTS, JDK 25, deve ser lançada em setembro de 2025. Os lançamentos do LTS dominaram a adoção do Java, o que significa que a adoção do JDK 23 e do JDK 24 pode estar no limite inferior, pois os usuários aguardam o JDK 25.