Lançamento oficial do Java 25 / JDK 25
(openjdk.org)- Java 25 e sua implementação de referência JDK 25 foram lançados oficialmente
- Esta versão inclui 18 novos JEPs (Java Enhancement Proposal)
- Foram aplicadas mudanças importantes como remoção da porta x86 de 32 bits, Scoped Values, Structured Concurrency e melhorias em Primitive Types
Java 25 / JDK 25: lançamento oficial
- O JDK 25, ou seja, a implementação de referência do Java 25, foi lançado oficialmente como versão pronta para produção
- Em 15 de agosto de 2025, foi disponibilizado o segundo release candidate, build 36, e desde então não houve relatos de bugs críticos (P1).
- O build 36 é a versão final GA (General Availability) e pode ser usado também em ambientes de produção
- O build OpenJDK baseado em licença GPL é fornecido oficialmente pela Oracle, e versões compiladas por vários outros fornecedores também devem ser distribuídas em breve
Link oficial de download do OpenJDK
Principais recursos e melhorias
Este lançamento inclui 18 JEPs (Java Enhancement Proposal)
- 470: Codificação de objetos criptográficos baseada em PEM (preview)
- 502: Stable Values (preview)
- 503: Remoção da porta x86 de 32 bits
- 505: Structured Concurrency (5º preview)
- 506: Scoped Values
- 507: Suporte a Primitive Types em pattern,
instanceofeswitch(3º preview) - 508: Vector API (10ª versão incubadora)
- 509: Perfilamento de tempo de CPU no JFR (recurso experimental)
- 510: Key Derivation Function API
- 511: Declarações de importação de módulo
- 512: Compact Source Files e método
mainde instância - 513: Flexible Constructor Bodies
- 514: Otimização Ahead-of-Time da linha de comando
- 515: Perfilamento de métodos Ahead-of-Time
- 518: Amostragem cooperativa do JFR
- 519: Compact Object Headers
- 520: Temporização e rastreamento de métodos no JFR
- 521: Generational Shenandoah
Além dos JEPs acima, esta versão também incorpora centenas de pequenas melhorias de funcionalidades e milhares de correções de bugs
Mais informações sobre o lançamento e os detalhes dos JEPs podem ser consultados na
página do projeto OpenJDK JDK 25
3 comentários
O mesmo mala do ano passado não morreu e voltou de novo, eeeh, lá vai ele... por que você fica aparecendo toda hora?
É um recurso que entrou no JDK 24, mas como há uma forte tendência de usar apenas versões LTS em Java, também vale destacar que, com o JEP 491: Synchronize Virtual Threads without Pinning, o fenômeno de pinning das virtual threads ao usar a palavra-chave
synchronizeddeixou de existir.Em benchmarks de virtual threads no mundo real, às vezes o desempenho era pior, e na maioria dos casos a causa era o pinning.
Opiniões do Hacker News
superno construtor. Sempre achei isso algo que contrariava a intuição.staticpara o processo de validação nos parâmetros desuper, na prática ela já era chamada antes dosuper, então o compilador não reclamava.import *facilitam escrever o código, mas tornam a leitura muito mais difícil, especialmente para desenvolvedores que não conhecem a linguagem ou a base de código. C# e Nim também seguem esse estilo, e sem IDE eu quase não consigo ler. Por isso acho melhor algo como os apelidos curtos do Python (import torch.nn.functional as F).NullPointerExceptioné comum). Se não gostar de Kotlin, C# também é bom. Ainda assim, Java é perfeitamente utilizável.