·
JDK 25 is out this 16 september, and it’s a big one — the first Long-Term Support (LTS) release since JDK 21. Packed with 18 JEPs, it balances ease-of-use improvements for developers, powerful Project Loom features, JVM performance boosts, and better tooling. Here’s what you need to know in a nutshell.
🔑 Key Takeaways
- JDK 25 is the newest Long-Term Support (LTS) release after JDK 21 (2023).
- It includes 18 JDK Enhancement Proposals (JEPs):
🚀 Language Features
- JEP 507 (Preview): Primitive types in patterns, instanceof, and switch → reduces need for wrapper classes.
- JEP 511: Module import declarations → simpler imports at the module level.
- JEP 512: Compact source files & instance main methods → easier to write first Java apps (void main() {} instead of full boilerplate).
- JEP 513: Flexible constructor bodies → allows checks before super() calls.
📚 Libraries & APIs
- JEP 470: PEM encoding for crypto objects.
- JEP 502 (Preview): Stable values → JVM-treated constants, more efficient than final.
- JEP 505 (Preview, Loom): Structured concurrency → treat related tasks as single unit.
- JEP 506: Scoped values → simpler alternative to thread-locals, now final.
- JEP 508 (Incubator): Vector API (10th round) → SIMD operations for performance.
- JEP 510: Key Derivation API (crypto).
⚙️ JVM & Performance
- JEP 519: Compact object headers → 22% less heap, 8% less CPU (final).
- JEP 521: Generational Shenandoah GC → better performance, final.
- Leyden project (startup improvements):
🔍 Java Flight Recorder (JFR) Improvements
- JEP 509: CPU-time profiling (Linux).
- JEP 518: Cooperative sampling → more stable profiling.
- JEP 520: Method timing & tracing.
🗑️ Deprecation
- JEP 503: Removal of 32-bit x86 port → completes removal of all 32-bit support.
📊 Observations
- JDK 25 (2025) → 18 JEPs.
- Previous LTS (JDK 21) → 15 JEPs.
- Average JEP count per release: ~13.
JDK 25 will receive extended support as an LTS.
✅ In short:
JDK 25 brings
- major language ease-of-use improvements (simpler main, flexible constructors, primitive patterns),
- Project Loom features (structured concurrency, scoped values),
- performance gains (compact headers, generational Shenandoah, AOT profiling),
- crypto & vector APIs,
- and new JFR tools
— making it a powerful LTS release for developers and enterprises.
Full article by Java champion Simon Ritter