A Chegada do Java 25 — Novidades que valem atenção
🚀 O Java 25 chegou! A nova versão LTS traz ganhos expressivos de desempenho, novos recursos para desenvolvedores e pode ser usada gratuitamente sob a licença NFTC até 2028.
Principais destaques
- Lançamento de longo prazo (LTS)
O Java 25 é uma versão com suporte de longo prazo (LTS), o que reforça a confiança das equipes de produção em migrar para ele.
Durante seu período “gratuito”, o JDK estará sob a licença Oracle No-Fee Terms and Conditions (NFTC), com atualizações gratuitas até setembro de 2028. Após isso, eventuais atualizações seguem sob licença comercial (OTN) para uso em produção. - Novos recursos estabilizados e APIs finalizadas
Entre os 18 JEPs (Java Enhancement Proposals) previstos para esta versão, vários já estão finalizados e prontos para uso em produção:- JEP 510: API de Key Derivation Function (KDF) no pacote
javax.crypto
, que facilita derivação de chaves (por exemplo, HKDF). - Compact Object Headers: redução no tamanho dos cabeçalhos de objetos na JVM, o que diminui o uso de heap e melhora eficiência de cache.
- Import de módulos (Module Import Declarations), Compact Source Files + instância main, Flexible Constructor Bodies são outras funcionalidades estabilizadas.
- JEP 510: API de Key Derivation Function (KDF) no pacote
- Foco em performance, inicialização e observabilidade
- Project Leyden: traz melhorias para acelerar o “startup” e reduzir o tempo até atingir performance ideal, algo bem útil em ambientes de containers, microsserviços e serverless.
- Java Flight Recorder (JFR) ganha novos recursos de profiling: CPU-time profiling, amostragem cooperativa aprimorada e métricas por método.
- Em um caso concreto, o time Helidon da Oracle reportou +70% de performance ao migrar do JDK 21 direto para o 25 — sem alterações no código.
- Funcionalidades em preview, incubação ou experimentais
Nem tudo no Java 25 já está estabilizado. Alguns recursos ainda estão em fases experimentais ou de preview, significando que podem mudar nas próximas versões ou exigir sinalizadores para ativação. Dentre eles:- JEP 470: codificações PEM de objetos criptográficos (preview)
- JEP 505: Structured Concurrency (5ª versão de preview)
- JEP 507: permitir padrões com tipos primitivos em
instanceof
eswitch
(3ª versão de preview) - JEP 508: Vector API (em incubador)
- JEP 509: CPU-time profiling no JFR (experimental)
- Ciclo de LTS mais frequente e estratégia de migração
A Oracle adota agora um ciclo de LTS a cada dois anos (após o lançamento do JDK 25 em 2025, virá o JDK 29 como próxima versão LTS).
Isso permite um período de transição e migração entre versões LTS, com sobreposição de licenciamento.
A versão Java 25 representa um salto expressivo para a plataforma: consolidando APIs importantes, melhora substancialmente no desempenho e tempo de inicialização, e estabelece um horizonte mais claro para migrações LTS futuras.
Para equipes que dependem de estabilidade e desejam modernizar seus sistemas Java, migrar para o JDK 25 deve ser seriamente considerado — aproveitando os recursos já prontos e experimentando com segurança os que ainda estão em preview.
📌 O que é o NFTC (No-Fee Terms and Conditions)
- O Oracle JDK (versões LTS a partir do JDK 21, inclusive) está disponível sob a licença NFTC — Oracle No-Fee Terms and Conditions.
- Sob NFTC, você pode usar o Oracle JDK em produção (comercial) sem pagar, inclusive distribuir internamente, rodar em servidores, aplicativos reais etc.
- Também é permitido redistribuir, contanto que não seja cobrado por isso (ou seja, redistribuição gratuita).
⏰ Restrições e prazos do uso gratuito
Embora o uso comercial seja permitido sob NFTC, há limites de tempo para esse uso gratuito com suporte e atualizações gratuitas:
- Para versões LTS, a Oracle fornece atualizações sob NFTC até certo prazo: até setembro de 2028 para o JDK 25. Ou seja, durante esse período, o JDK 25 Oracle pode ser usado gratuitamente, incluindo em ambientes de produção.
- Após esse período gratuito de suporte, novas atualizações do Oracle JDK vão requerer uma licença paga (o modelo OTN – Oracle Technology Network ou assinatura Java SE) caso você deseje continuar recebendo atualizações, patches de bugs, ou suporte comercial.
➡ Distribuição (redistribuição) com aplicativos
- Redistribuir o Oracle JDK é permitido sob NFTC se não houver cobrança pela redistribuição. Ou seja, se você embalar o Oracle JDK junto de sua aplicação e distribuir, isso é permitido desde que você não cobre pelo JDK ou “lucra” com a redistribuição dele separadamente.
- Se você quiser redistribuir para clientes cobrando (por exemplo embutido em um produto comercial, ou licenciado como parte de produto que você vende), pode haver necessidade de licença comercial ou diferentes termos. Isso precisa ser verificado caso a caso.
📑 “Só com licença comercial” ❓
A afirmação de que “aplicações só podem ser distribuídas com Java 25 com licença comercial” não está correta no geral — ou seja, não em todos os casos. Aqui está um resumo:
- Sim, após o final do período gratuito de suporte (setembro de 2028 para JDK 25), se você quiser atualizar para novas versões do JDK Oracle, vai precisar de assinatura/licença paga.
- Não, durante o período gratuito sob NFTC, você pode usar comercialmente o Oracle JDK 25 e distribuir com sua aplicação — desde que respeite as condições: principalmente não cobrar pela distribuição do próprio Oracle JDK ou de seus binários, e usar versões compatíveis/licenciadas.
- Se sua aplicação exige features que estão fora do escopo gratuito, ou se embutir componentes comerciais específicos da Oracle, pode haver exigência de licença separada.
Conclusão
O Java 25 (JDK 25) chega como uma versão LTS que consolida avanços importantes em desempenho, segurança e produtividade para desenvolvedores e empresas. Além das novidades técnicas, o modelo de licenciamento também merece atenção: com a licença NFTC (No-Fee Terms and Conditions), a Oracle garante que o JDK 25 pode ser usado gratuitamente em ambientes comerciais e de produção até setembro de 2028.
Isso significa que organizações podem adotar o JDK 25 sem custo inicial, aproveitando todos os recursos da versão mais moderna da linguagem. No entanto, é fundamental ter em mente que, após esse período, o acesso a atualizações e suporte da Oracle passará a exigir uma licença comercial.
Em resumo, o JDK 25 é uma oportunidade para modernizar aplicações Java com segurança e previsibilidade, mas exige planejamento estratégico para migrações futuras e para manter a conformidade de licenciamento a longo prazo.
Referencias: