Oracle has released version 25 of the Java programming language and virtual machine. As the first LTS release since JDK 21, the final feature set includes 18 JEPs, seven of which have been finalized. Nine of these features are focused on performance and runtime. The JEPs in this final feature set are:
Seven of these, Scoped Values, Key Derivation Function API, Module Import Declarations, Compact Source Files and Instance Main Methods, Flexible Constructor Bodies, Compact Object Headers and Generational Shenandoh, are finalized after having evolved from their respective incubations and previews with the exception of the latter two that were experimental features in JDK 24.
This release also provides a focus on performance and runtime as nine of these JEPs are under the auspices of Project Leyden and the HotSpot JVM. This includes two JEPs, Ahead-of-Time Command-Line Ergonomics and Ahead-of-Time Method Profiling, that join JEP 483, Ahead-of-Time Class Loading & Linking, the first feature delivered by Project Leyden in JDK 24.
Shown in the graph below, as presented in this Oracle blog post, are the number of JEPs in each Java release since JDK 8.
We examine some of these JEPs, discuss the JDK 25 Launch Event, and update our predictions for features that may be included in JDK 26.
JFR Method Timing & Tracing
JEP 520, JFR Method Timing & Tracing, proposes to extend the JFR with facilities for method timing and tracing via the bytecode Instrumentation
interface. Two new JFR events, jdk.MethodTiming
and jdk.MethodTrace
, used in the MethodTimingEvent
and MethodTraceEvent
classes, respectively, accept a filter to select the appropriate methods for timing and tracing.
Compact Object Headers
JEP 519, Compact Object Headers, proposes to promote this feature from experimental to product. Inspired by Project Lilliput, this feature “reduces the size of object headers in the HotSpot JVM from between 96 and 128 bits down to 64 bits on 64-bit architectures.” More details on JEP 519 may be found in this InfoQ news story.
JFR Cooperative Sampling
JEP 518, JFR Cooperative Sampling, proposes to “improve the stability of the JDK Flight Recorder (JFR) when it asynchronously samples Java thread stacks.” This is accomplished by traversing call stacks at safepoints, i.e., a point where a thread is suspended at a well-defined code location.
Ahead-of-Time Method Profiling
JEP 515, Ahead-of-Time Method Profiling, proposes to improve application warmup time by “making method-execution profiles from a previous run of an application instantly available, when the HotSpot JVM starts.” This allows the JIT compiler to immediately generate native code upon application startup as opposed to waiting for profiles to be collected.
Ahead-of-Time Command-Line Ergonomics
JEP 514, Ahead-of-Time Command-Line Ergonomics, proposes to simplify the process of creating ahead-of-time caches, as described in JEP 483, Ahead-of-Time Class Loading & Linking, that may accelerate Java application startup by “simplifying the commands required for common use cases.“
JFR CPU-Time Profiling (Experimental)
JEP 509, JFR CPU-Time Profiling (Experimental), the only new experimental feature in this release, proposes to enhance the JFR to utilize the Linux kernel CPU timer that accurately measures CPU-cycle consumption. This will provide the ability to capture CPU-time profiling information on Java applications.
JDK 25 Launch Event
The JDK 25 Launch Event, live-streamed on September 16, 2025 from the Oracle site in Redwood Shores, CA, featured: performance updates from JDK 21 to JDK 25 with Mikael Vidstedt, Senior Director, Java Virtual Machine at Oracle; security updates from JDK 21 to JDK 25 with Poonam Parhar, Senior Product Manager at Oracle; the evolution of Java AI Libraries with Chad Arimura, Vice President, Java Developer Relations at Oracle; Java for AI example demos, including the Heterogeneous Accelerator Toolkit (HAT), with Paul Sandoz, Java Architect at Oracle; and growing the Java platform with Georges Saab, Senior Vice President, Software Development, Java Platform Group at Oracle. There were also numerous example demos showcasing the new features in JDK 25 by Ana-Maria Mihalceanu, Billy Korando and Nicolai Parlog, Java Developer Advocates at Oracle and hosts of the livestream.
JDK 26
Scheduled for a GA release in March 2026, three JEPs have been targeted for JDK 26 at this time. However, based on a number of JEP candidates and drafts, especially those that have been submitted, we can surmise which additional JEPs have the potential to be included in JDK 26.
JEP 522, G1 GC: Improve Throughput by Reducing Synchronization, has been Targeted for JDK 26. This JEP proposes to reduce the overhead of the G1 garbage collector to improve synchronization between application threads and GC threads.
JEP 517, HTTP/3 for the HTTP Client API, has been Targeted for JDK 26. This JEP proposes to “update the HTTPClient
API to support the HTTP/3 protocol, so that libraries and applications can interact with HTTP/3 servers with minimal code change.“.
JEP 504, Remove the Applet API, has been Targeted for JDK 26. This JEP proposes to remove the Applet API, deprecated in JDK 17, due its continued obsolescence since applets are no longer supported in web browsers.
JEP Draft 8358541, Post-Quantum Hybrid Key Exchange for TLS 1.3, proposes to enhance the implementation of RFC 8446, Transport Layer Security (TLS) Protocol Version 1.3, using the Hybrid Key Exchange in TLS 1.3 specification, currently being drafted by the Internet Engineering Task Force (IETF), used in conjunction with JEP 496, Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism, delivered in JDK 24.
Please note that draft JEPs may be subject to change at any time.
The formal release date for JDK 26 is expected to be March 2026, soon to be proposed by Mark Reinhold, Chief Architect, Java Platform Group at Oracle. Developers can anticipate a feature freeze in early-December 2025.
More details on additional JEPs released in JDK 25 along with other Draft JEPs and candidates may be found in this more detailed InfoQ news story.
JDK 25 may now be downloaded from Oracle with binaries from other vendors expected to become available in the coming days.