Article image
Alexsandro Almeida
Alexsandro Almeida09/06/2025 14:23
Compartilhe

JDK 25: Uma Versão LTS com Inovações para Desenvolvedores Java

    JDK 25: Uma Versão LTS com Inovações para Desenvolvedores Java

    O Java Development Kit (JDK) 25, previsto para setembro de 2025, marca um marco importante como uma versão de suporte de longo prazo (LTS) do Java. Com pelo menos cinco anos de suporte Premier da Oracle, o JDK 25 entra na fase inicial de correção de bugs com 18 recursos, variando de melhorias no desempenho a novas APIs e otimizações experimentais. Este artigo explora os destaques do JDK 25, com foco em suas funcionalidades mais relevantes para desenvolvedores.

    Cronograma e Disponibilidade

    O JDK 25 está programado para chegar como versão de produção em 16 de setembro de 2025, após uma segunda fase de redução gradual em 17 de julho e candidatos a lançamento em 17 e 21 de agosto. Versões de acesso antecipado já estão disponíveis em jdk.java.net. Como sucessor do JDK 24, uma versão de suporte de curto prazo lançada em março de 2025, e da última LTS, o JDK 21, lançada em setembro de 2023, o JDK 25 promete avanços significativos.

    Principais Recursos do JDK 25

    Aprimoramentos no JDK Flight Recorder (JFR)

    O JDK Flight Recorder (JFR), ferramenta essencial para monitoramento e criação de perfil, recebe três melhorias no JDK 25:

    1. Criação de Perfil de Tempo de CPU no Linux: Introduzido em 5 de junho de 2025, este recurso experimental permite capturar informações de perfil de tempo de CPU no Linux usando o temporizador do kernel. Isso ajuda desenvolvedores a otimizar a eficiência de aplicativos Java, com potencial para expansão a outras plataformas.
    2. Amostragem Cooperativa: Melhora a estabilidade do JFR ao amostrar pilhas de threads de forma assíncrona, reduzindo o viés em pontos seguros.
    3. Temporização e Rastreamento de Métodos: Permite registrar tempos de execução e rastrear pilhas de métodos específicos sem modificações no código-fonte, facilitando a identificação de gargalos de desempenho.

    Codificações PEM para Objetos Criptográficos

    O JDK 25 introduz uma API concisa para codificar e decodificar objetos criptográficos (chaves, certificados e listas de revogação) no formato PEM. Essa adição resolve a ausência de uma API fácil de usar para manipulação de PEM, oferecendo suporte a formatos como PKCS#8 e X.509, com ênfase na simplicidade e na conversão eficiente entre texto PEM e objetos criptográficos.

    Shenandoah Geracional como Recurso de Produto

    O coletor de lixo Shenandoah, agora em modo geracional, deixa de ser experimental e torna-se um recurso de produto no JDK 25. Após melhorias de estabilidade e desempenho no JDK 24, o Shenandoah Geracional oferece maior taxa de transferência, resiliência a picos de carga e melhor utilização de memória, sendo ideal para cargas de trabalho exigentes.

    Ergonomia de Linha de Comando Ahead-of-Time (AOT)

    A ergonomia AOT simplifica a criação de caches ahead-of-time, acelerando a inicialização de aplicativos Java. Baseada nos avanços do JDK 24, essa funcionalidade reduz a complexidade dos comandos necessários, mantendo a expressividade e facilitando o acesso a fluxos de trabalho AOT existentes.

    Criação de Perfil de Método Antecipada

    Este recurso melhora o tempo de aquecimento de aplicativos ao disponibilizar perfis de execução de métodos de execuções anteriores logo no início da JVM HotSpot. Isso permite que o compilador JIT gere código nativo instantaneamente, sem esperar pela coleta de perfis, beneficiando o desempenho inicial sem exigir alterações no código.

    Outros Recursos Notáveis

    • Cabeçalhos de Objetos Compactos: Agora um recurso de produto, reduz o tamanho dos cabeçalhos de objetos na JVM HotSpot, otimizando o uso de memória.
    • Tipos Primitivos em Patterns, instanceof e Switch: Uma terceira prévia que expande a correspondência de padrões para tipos primitivos.
    • Valores com Escopo: Em sua quinta prévia, facilita o compartilhamento de dados imutáveis entre threads.
    • API de Vetor e Função de Derivação de Chave: Ambas finalizadas, trazem melhorias em cálculos vetoriais e algoritmos criptográficos.
    • Simultaneidade Estruturada e Corpos de Construtores Flexíveis: Recursos que promovem robustez e flexibilidade no desenvolvimento concorrente e na construção de objetos.
    • Arquivos-Fonte Compactos e Métodos Principais de Instância: Simplificam a escrita de programas para iniciantes.
    • Valores Estáveis: Oferecem otimizações de desempenho para dados imutáveis.
    • Remoção da Porta x86 de 32 Bits: Libera recursos para focar em arquiteturas modernas.

    Melhorias de Desempenho

    Além dos recursos listados, o JDK 25 otimiza a classe String, com a função String::hashCode aproveitando o dobramento de constantes. Isso resulta em melhorias significativas de desempenho para mapas estáticos imutáveis que usam strings como chaves.

    Conclusão

    O JDK 25 solidifica o compromisso da Oracle com a evolução do Java, combinando estabilidade de longo prazo com inovações que atendem tanto desenvolvedores experientes quanto iniciantes. Com foco em desempenho, segurança e facilidade de uso, esta versão LTS prepara o terreno para o futuro da plataforma Java. Desenvolvedores podem explorar os recursos do JDK 25 em suas versões de acesso antecipado e se preparar para a adoção da versão de produção em setembro de 2025.

    Compartilhe
    Comentários (0)