Java 25 is shaping up to be a significant milestone for the platform. Scheduled for release in September 2025, this long-term support (LTS) version of the Java Development Kit (JDK) introduces a variety of new and enhanced features aimed at boosting performance, usability, and developer productivity. The feature list has expanded to 17 items, with recent additions including a more mature Shenandoah garbage collector and support for encoding cryptographic data in PEM format.
A New Chapter for Java’s LTS Releases
Building on the momentum of JDK 24, which was released as a non-LTS version in March, JDK 25 promises five years of Premier support from Oracle. The release timeline includes phased rampdowns in June and July, followed by two release candidates in August, and a final launch on September 16, 2025.
Preview versions are already accessible at jdk.java.net, allowing early adopters to explore what’s ahead.
Noteworthy Additions in JDK 25
PEM Format Support for Cryptography
Developers working with cryptographic keys and certificates will benefit from a new preview API that simplifies the encoding and decoding of cryptographic objects using the widely adopted PEM (Privacy-Enhanced Mail) format. This addition addresses a long-standing gap in Java’s crypto capabilities by making it easier to handle conversions between PEM and standard binary formats like PKCS#8 and X.509.
Shenandoah GC Graduates from Preview
The generational variant of the Shenandoah garbage collector, previously introduced experimentally, has now reached product status. After being pulled from JDK 21 due to readiness concerns, it’s finally ready for prime time. Improvements in memory efficiency and sustained throughput make it a compelling option for applications with demanding performance needs.
Performance and Optimization Features
Simplified AOT Compilation
Ahead-of-time (AOT) command-line enhancements aim to streamline the creation of AOT caches. These caches can significantly improve application startup times by preloading and linking classes. Rather than introducing new workflows, the update focuses on refining existing tooling to make it more accessible.
Faster Warm-Up with Method Profiling
Another performance-focused feature is the ability to capture and reuse method execution profiles between application runs. This enables the JVM’s JIT compiler to generate optimized native code immediately at startup, shortening the “warm-up” phase typical of Java apps. Importantly, developers won’t need to change their code or adjust execution models.
Enhancements for Observability and Debugging
Flight Recorder Sampling Improvements
JDK Flight Recorder (JFR) is getting an upgrade with cooperative stack sampling. This change ensures stack traces are captured at JVM safepoints to minimize disruptions and sampling bias, improving stability and accuracy in profiling data.
New Capabilities for Method Timing and Tracing
Developers will also have more powerful tools to monitor method execution without modifying source code. JFR will support precise timing and tracing based on configuration files, command-line flags, or remote management tools, offering valuable insights for troubleshooting and performance tuning.
Language and Runtime Innovations
Other enhancements in JDK 25 include:
Compact Object Headers: Now promoted from experimental to production-ready, this feature reduces memory overhead by compressing object headers, especially beneficial on 64-bit systems.
Primitive Types in Patterns (Third Preview): Expanding pattern matching with support for primitive values in switch and instanceof.
Scoped Values and Structured Concurrency: These concurrency-related tools provide better control over data sharing and task management.
Vector API and Key Derivation Functions: Continued improvements in low-level operations and cryptographic flexibility.
Simplified Source Files: Enhancements like module import declarations, compact source file formats, and instance main methods aim to simplify code and reduce boilerplate.
Removal of 32-bit x86 Port: The platform is dropping support for outdated architectures, aligning with modern system requirements.
Final Thoughts
Java 25 is not just an incremental update; it’s a carefully crafted evolution of the platform with long-term stability in mind. Whether you’re focused on performance tuning, cryptography, memory optimization, or simply writing cleaner code, this LTS release delivers tools and enhancements that matter.
Stay tuned for the full rollout in September, and try the early access builds to get ahead of the curve.
What’s Coming in Java 25: Key Enhancements and Features in the Next LTS Release
Java 25 is shaping up to be a significant milestone for the platform. Scheduled for release in September 2025, this long-term support (LTS) version of the Java Development Kit (JDK) introduces a variety of new and enhanced features aimed at boosting performance, usability, and developer productivity. The feature list has expanded to 17 items, with recent additions including a more mature Shenandoah garbage collector and support for encoding cryptographic data in PEM format.
A New Chapter for Java’s LTS Releases
Building on the momentum of JDK 24, which was released as a non-LTS version in March, JDK 25 promises five years of Premier support from Oracle. The release timeline includes phased rampdowns in June and July, followed by two release candidates in August, and a final launch on September 16, 2025.
Preview versions are already accessible at jdk.java.net, allowing early adopters to explore what’s ahead.
Noteworthy Additions in JDK 25
PEM Format Support for Cryptography
Developers working with cryptographic keys and certificates will benefit from a new preview API that simplifies the encoding and decoding of cryptographic objects using the widely adopted PEM (Privacy-Enhanced Mail) format. This addition addresses a long-standing gap in Java’s crypto capabilities by making it easier to handle conversions between PEM and standard binary formats like PKCS#8 and X.509.
Shenandoah GC Graduates from Preview
The generational variant of the Shenandoah garbage collector, previously introduced experimentally, has now reached product status. After being pulled from JDK 21 due to readiness concerns, it’s finally ready for prime time. Improvements in memory efficiency and sustained throughput make it a compelling option for applications with demanding performance needs.
Performance and Optimization Features
Simplified AOT Compilation
Ahead-of-time (AOT) command-line enhancements aim to streamline the creation of AOT caches. These caches can significantly improve application startup times by preloading and linking classes. Rather than introducing new workflows, the update focuses on refining existing tooling to make it more accessible.
Faster Warm-Up with Method Profiling
Another performance-focused feature is the ability to capture and reuse method execution profiles between application runs. This enables the JVM’s JIT compiler to generate optimized native code immediately at startup, shortening the “warm-up” phase typical of Java apps. Importantly, developers won’t need to change their code or adjust execution models.
Enhancements for Observability and Debugging
Flight Recorder Sampling Improvements
JDK Flight Recorder (JFR) is getting an upgrade with cooperative stack sampling. This change ensures stack traces are captured at JVM safepoints to minimize disruptions and sampling bias, improving stability and accuracy in profiling data.
New Capabilities for Method Timing and Tracing
Developers will also have more powerful tools to monitor method execution without modifying source code. JFR will support precise timing and tracing based on configuration files, command-line flags, or remote management tools, offering valuable insights for troubleshooting and performance tuning.
Language and Runtime Innovations
Other enhancements in JDK 25 include:
switch
andinstanceof
.Final Thoughts
Java 25 is not just an incremental update; it’s a carefully crafted evolution of the platform with long-term stability in mind. Whether you’re focused on performance tuning, cryptography, memory optimization, or simply writing cleaner code, this LTS release delivers tools and enhancements that matter.
Stay tuned for the full rollout in September, and try the early access builds to get ahead of the curve.
Archives
Categories
Archives
What’s Coming in Java 25: Key Enhancements and Features in the Next LTS Release
May 30, 2025Google Launches AI Agent Development Kits for Python and Java
May 25, 2025Categories
Meta