O JDK 25 foi lançado em setembro de 2025 e é uma versão LTS (Long-Term Support), como foram o 17 e o 21. Isso significa anos de atualizações de segurança — é a versão que as empresas vão adotar e, portanto, uma ótima escolha para quem está começando hoje.
1. O fim do “public static void main”
Com os compact source files e os instance main methods (JEP 512), o primeiro programa em Java ficou assim:
void main() {
IO.println("Olá, Java 25!");
}Sem classe declarada, sem public static, sem String[] args. Salve como Ola.java e execute com java Ola.java. A classe IO, do pacote java.lang, traz métodos simples de entrada e saída como println e readln.
Nada muda para os programas “normais”: a forma clássica continua funcionando. A ideia é tirar a cerimônia do caminho de quem está dando os primeiros passos.
2. Import de módulos inteiros
Com a JEP 511, uma única linha importa todos os pacotes exportados por um módulo:
import module java.base; // List, Map, Stream, Path, LocalDate...3. Construtores mais flexíveis
A JEP 513 permite executar código antes de chamar super(...) — por exemplo, para validar argumentos:
public ContaPremium(double limite) {
if (limite < 0) throw new IllegalArgumentException("Limite inválido");
super(limite);
}Antes, a chamada a super tinha que ser obrigatoriamente a primeira linha. Se quer rever o básico, leia Construtores em Java.
4. Outras novidades
- Scoped Values (JEP 506): uma alternativa mais segura ao
ThreadLocal, pensada para as virtual threads. - Compact Object Headers (JEP 519): cabeçalhos de objeto menores, que podem reduzir o uso de memória.
- Inicialização mais rápida com AOT (JEPs 514 e 515), para aplicações que iniciam mais rápido.
- Key Derivation Function API (JEP 510) para criptografia.
Devo atualizar?
Se você está começando: sim, instale o JDK 25. Uma forma prática de manter várias versões lado a lado é o SDKMAN — o Paulo mostra o passo a passo neste vídeo. Em projetos de empresa, a migração costuma seguir o calendário das LTS — e o caminho do 21 para o 25 é tranquilo para a maioria das aplicações.
Fonte: OpenJDK — JDK 25.