Java Development Kit 25 (JDK 25) is the newest Long-Term Support (LTS) release of Java, made generally available on September 16, 2025. It brings a batch of language improvements, performance upgrades, and productivity enhancements defined through JDK Enhancement Proposals (JEPs).
Major Features in JDK 25
- Compact Source Files & Instance Main Methods (JEP 512): lets you write simpler Java programs without boilerplate public static void main, making starter code cleaner. Module Import Declarations (JEP 511) – imports entire modules directly in source, improving clarity for module-based apps.
- Flexible Constructor Bodies (JEP 513): relaxes rules around constructor code placement for better readability and flexibility.
- Primitive Types in Patterns (JEP 507 - Third Preview): pattern matching now supports primitive types in instanceof and switch.
- Scoped Values (JEP 506): modern replacement for thread-local variables; safer and more efficient context propagation.
- Performance & Monitoring Enhancements: includes compact object headers (JEP 519), JFR method timing & tracing (JEP 520), and improved garbage collection with Generational Shenandoah (JEP 521).
- Security & Crypto Updates: additional cryptographic support like PEM encodings (JEP 470) and key derivation API (JEP 510).
- Preview & Incubator Tech: structured concurrency (fifth preview JEP 505), stable values (JEP 502), and vector API enhancements (JEP 508).
JEPs Drive the Release:
Each feature in JDK 25 is tracked through a JEP (Java Enhancement Proposal) - Java’s official mechanism for proposing, developing, and integrating improvements. You can explore all the JEPs for this release on the OpenJDK JDK 25 project page.
Provide Feedback For This Article
We take your feedback seriously and use it to improve our content. Thank you for helping us serve you better!
😊 Thanks for your time, your feedback has been registered!
Comments & Discussion
Facing issues? Have questions? Post them here! We're happy to help!