CEVIU Logo
Voltar

Java 25: o que há de novo na nova versão LTS

Aprofundamento CEVIU

Aprofundamento

O Java 25, lançado em 16 de setembro de 2025, é a nova versão LTS do JDK, sucedendo o Java 21 com cinco anos mínimos de suporte, e até oito anos de suporte Premier para usuários do Oracle JDK. Ele traz 18 JEPs, sendo 7 finalizados (como JEP 519, JEP 515, JEP 521, JEP 506), além de recursos em pré-visualização (JEP 507, JEP 502) e incubação (JEP 508). Diferente de versões anteriores com mudanças sintáticas radicais, o Java 25 prioriza refinamentos de runtime e produtividade: redução de overhead de memória via Compact Object Headers (JEP 519), aquecimento acelerado por AOT profiling (JEP 515) e ergonomia de linha de comando (JEP 514), e o coletor Generational Shenandoah (JEP 521), agora finalizado e com pausas mais previsíveis em cargas mistas.

Na linguagem, destaca-se o método main de instância (JEP 512), que dispensa declaração de classe e modificadores, e importações de módulos em uma única linha (JEP 511). As APIs criptográficas ganharam suporte nativo a PEM (JEP 470, ainda em pré-visualização) e à derivação de chaves com PBKDF2 e Argon2 (JEP 510). O Scoped Values (JEP 506), agora finalizado, oferece alternativa segura ao ThreadLocal para propagação de contexto imutável entre threads. Já o Vector API (JEP 508) entra em sua décima rodada de incubação, mantendo foco em operações SIMD para IA e criptografia.

Por que isso importa

Para equipes que operam em cloud, containers ou serverless, o Java 25 resolve problemas reais: menor cold start graças ao AOT profiling reutilizável, footprint reduzido no heap (menos pressão sobre GC), e GC com pausas mais estáveis, tudo isso impacta diretamente custo operacional, escalabilidade e SLOs. A descontinuação do suporte a x86-32 (JEP 503) não é só técnica: elimina um vetor de manutenção e permite otimizações internas da JVM assumindo arquitetura 64-bit como padrão. Para desenvolvedores, as simplificações sintáticas (main de instância, importações de módulo) reduzem boilerplate sem sacrificar segurança ou compatibilidade, útil em prototipagem, ensino e microsserviços leves. E o Scoped Values finalizado dá base sólida para frameworks modernos de observabilidade e tracing sem os riscos de vazamento de ThreadLocal.

Impacto para desenvolvedores

Se você usa Java 21 hoje, a migração para Java 25 é viável com ganhos mensuráveis em startup, memória e GC, especialmente em ambientes com autoscaling agressivo (EKS HPA, Fargate). Mas atenção: recursos em preview (como JEP 507 e JEP 502) exigem --enable-preview e podem mudar; evite-os em produção crítica. Bibliotecas que dependem de detalhes internos da JVM (ex.: manipulação direta de cabeçalhos de objeto ou GC específico) devem ser testadas rigorosamente, JEP 519 e JEP 521 alteram comportamentos de baixo nível. Para aproveitar o AOT profiling, perfis devem ser coletados em ambientes reais ou representativos, não em microbenchmarks. E se sua stack já usa BouncyCastle para PEM ou KDF, vale avaliar a substituição gradual pelas APIs nativas (JEP 470 e JEP 510), mas só após validar compatibilidade com seus fluxos de certificação e assinatura.

Perguntas frequentes

Quando o Java 25 foi lançado?

O Java 25 foi lançado oficialmente em 16 de setembro de 2025. É uma versão Long-Term Support (LTS), sucedendo o Java 21 e com garantia mínima de cinco anos de suporte.

O que é o Generational Shenandoah no Java 25?

É o coletor de lixo finalizado no Java 25 (JEP 521). Ele adiciona um modelo geracional ao Shenandoah GC, melhorando throughput e tornando as pausas de coleta mais previsíveis, especialmente útil em aplicações com alocação mista e alta taxa de criação de objetos.

O Java 25 ainda suporta x86 de 32 bits?

Não. O suporte para arquiteturas x86 de 32 bits foi descontinuado no Java 25 (JEP 503). A versão exige sistemas de 64 bits, alinhando-se à realidade atual de infraestrutura e permitindo otimizações internas na JVM.

O que são Scoped Values no Java 25?

Scoped Values (JEP 506) é um recurso finalizado que permite propagar dados imutáveis entre threads e seus filhos de forma segura e eficiente, sem os riscos de vazamento e overhead do ThreadLocal. É parte do Projeto Loom e já está pronto para uso em produção.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Web Dev
Publicado
17 de junho de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser