Oracle Releases Java 25
New release delivers 18 JDK Enhancement Proposals to improve the Java language, expand its AI capabilities, and help developers accelerate productivity
Enhancements to the platform's performance, security, and stability help organizations drive business growth
Long-term support offering enables customers to migrate at their own pace
"As Java embarks on its fourth decade, it continues to deliver features to help ensure that applications, including those powered by and integrated with AI capabilities, will be highly efficient and scalable across hardware platforms," said
"Java marked a significant milestone this year with its 30th anniversary, and the platform and language continues to evolve to help developers quickly and easily build applications infused with innovative AI and security capabilities," said
Oracle plans to offer long-term support for Java 25 for at least eight years, which gives organizations the flexibility to keep applications in production longer with minimal maintenance and eventually migrate on their own terms. Oracle JDK 25 is planned to receive quarterly security and performance updates until
Key JDK Enhancement Proposals (JEPs)
Oracle JDK 25 Language Features
- JEP 507 : Primitive Types in Patterns, instanceof, and switch (Third Preview): Helps developers increase Java programming productivity by making Java more uniform and expressive. For example, developers can enhance pattern matching by removing restrictions pertaining to primitive types that are encountered when using pattern matching, instanceof, and switch. It also allows primitive type patterns in all pattern contexts and extends instanceof and switch to work with all primitive types. Support of primitive types will especially benefit developers building applications that integrate AI inferencing.
- JEP 511 : Module Import Declarations: Helps developers accelerate productivity by enabling them to easily import all the packages exported by a module, without requiring the importing code to be in a module itself. This simplifies the reuse of modular libraries for all developers and helps beginners use third-party libraries and fundamental Java classes without needing to learn where they are located in a package hierarchy. Additionally, developers can avoid the noise of multiple type-import-on-demand declarations when using diverse parts of the API exported by a module, which is beneficial for simple applications that stitch together AI inferencing and workflows from popular libraries.
- JEP 512 : Compact Source Files and Instance Main Methods: Helps make the Java language more accessible to beginners and system and IT administrators by offering a smooth on-ramp to Java programming. Students can write their first programs in a concise manner without needing to understand language features designed for large programs and can grow their code gracefully as their skills expand. In addition, system and IT administrators who may not be Java experts can reduce the ceremony of writing small programs such as scripts and command-line utilities.
- JEP 513 : Flexible Constructor Bodies: Enables developers to improve code safety and reliability by allowing input validation and safe computations before explicitly invoking a constructor. This improves code safety by allowing more natural constructor expressions and enabling field initialization before they are visible to other class code, such as methods called from a superclass constructor. It also improves reliability by preserving the safeguard that prevents subclass constructors from interfering with superclass instantiation.
Oracle JDK 25 Libraries
- JEP 505 : Structured Concurrency (Fifth Preview): Helps developers improve the maintainability, reliability, and observability of multithreaded code by simplifying concurrent programming. By treating groups of related tasks running in different threads as a single unit of work, structured concurrency helps reduce common risks arising from cancellation and shutdown, such as thread leaks and cancellation delays. This is especially beneficial for AI development, which often involves running multiple tasks in parallel.
- JEP 506 : Scoped Values: Help developers increase the ease-of-use, comprehensibility, performance, and robustness of their projects by enabling the sharing of immutable data within and across threads. This particularly benefits applications using AI platforms, web frames, and microservices. In addition, scoped values are easier to reason with than thread-local variables and have lower space and time costs, especially when used together with virtual threads and structured concurrency.
- JEP 502 : Stable Values (Preview): Help developers increase flexibility by introducing an API for stable values, which are objects that hold immutable data. Since stable values are treated as constants by the Java Virtual Machine, they enable the same performance optimizations as declaring a field final while offering greater flexibility in the timing of their initialization.
- JEP 508 : Vector API (10th Incubator): Helps developers improve productivity via an API that expresses vector computations that reliably compile at runtime to optimal vector instructions on supported CPU architectures. As a result, developers can achieve performance superior to equivalent scalar computations, which are often used in AI inference and compute scenarios.
Oracle JDK 25
- JEP 470 : PEM Encodings of Cryptographic Objects (Preview): Help developers increase productivity via a new API for encoding objects. The API encodes objects that represent cryptographic keys, certificates, and certificate revocation lists into the widely-used, privacy-enhanced mail transport format, and decodes from that format back into objects. This makes it easier for developers to integrate Java applications with security authentication systems and devices such as Yubikeys.
- JEP 510 : Key Derivation Function API: Helps developers prepare for emerging quantum computing environments by offering an API for key derivation functions, which are cryptographic algorithms for deriving additional keys from a secret key and other data. This provides a necessary building block for the support of hybrid public key encryption, which helps enable a smooth transition to quantum-safe encryption.
Oracle JDK 25 Performance Updates
- JEP 519 : Compact Object Headers: Help developers increase productivity by reducing the size of object headers to 64 bits on 64-bit architectures. This improves deployment density and increases data locality, while reducing object sizes and memory footprint on realistic workloads.
- JEP 514 : Ahead-of-Time Command-Line Ergonomics: Help developers accelerate productivity by making it easier to create ahead-of-time caches with no loss of expressiveness. This accelerates the startup of Java applications by simplifying the commands required for common use cases.
- JEP 515 : Ahead-of-Time Method Profiling: Helps developers increase productivity by accelerating application performance. Warmup time is improved by shifting the collection of initial method execution profiles from production runs to training runs, conveying the profiles via the ahead-of-time cache. This enables the JIT compiler to generate native code immediately upon application startup rather than waiting for profiles to be collected. It also eliminates the need for any change to the code of applications, libraries, or frameworks and removes any constraints on application execution.
Oracle JDK 25 Monitoring Updates
- JEP 509 : JFR CPU-Time Profiling (Experimental): Helps developers improve productivity and the efficiency of their programs by enhancing the JDK Flight Recorder (JFR) to capture more accurate CPU-time profiling information on Linux and helping to identify program elements to optimize.
- JEP 518 : JFR Cooperative Sampling: Helps developers increase code reliability by improving the stability of the JFR when it asynchronously samples Java thread stacks. This allows the JFR to minimize safepoint bias in event samplers while avoiding risky heuristics for generating stack traces outside of safepoints. It also allows the creation of sample requests in response to a hardware event or inside a signal handler and reduces the amount of work that the sampler thread must execute.
- JEP 520 : JFR Method Timing & Tracing: Helps developers accelerate productivity by enabling them to identify application performance bottlenecks, optimize code, and find the root causes of bugs. This is achieved by extending the JFR with facilities for method timing and tracing via bytecode instrumentation.
The features in the Java 25 release are a result of continuous collaboration between Oracle and other members of the global Java developer community via OpenJDK and the Java Community Process (JCP). For more details on the features in Java 25, please read the Java 25 technical blog. In addition, the latest Java innovations across the global community will be showcased at JavaOne 2026 in
"Since its inception 30 years ago, Java has remained a trusted and secure language for building large-scale enterprise applications," said
Supporting the
Java delivers increased innovation, performance, efficiency, and cost savings when deployed on Oracle Cloud Infrastructure (OCI), which is the first hyperscale cloud to support Oracle JDK 25. By delivering Oracle Java SE and advanced features such as the Java SE Subscription Enterprise Performance Pack at no additional charge on OCI, Java 25 helps developers create and deploy applications that run faster, better, and with optimized cost-performance.
The Oracle Java SE Universal Subscription provides customers with best-in-class support. It includes the Java SE Subscription Enterprise Performance Pack, triage support for the entire Java portfolio, the Java Management Service, and the flexibility to upgrade at the pace of customers' businesses. This helps IT teams manage complexity, mitigate security risks, and contain costs.
In addition to the benefits of Java on OCI and the Oracle Java Universal SE Subscription, Java 25 delivers improved application performance and a wide range of AI and security capabilities, including post-quantum cryptography (PQC) support, to help improve the performance, stability, and security of Java SE Platform implementations and the JDK.
Leaders Across the Global Java Community Welcome Oracle JDK 25
"When Java moved to having a release every six months, it seemed impossible that interesting new features could be split into small enough pieces to deliver this way – and it felt like it was possible some releases might not even have much in them," said
"JEP 512 introduces 'Compact Source Files and Instance Main Methods' which dramatically simplifies Java for beginners by allowing them to write programs without the traditional boilerplate code public static void main(String[] args)," said Rémi Forax, associate professor, Université Gustave Eiffel. "Students can now start with simple programs and gradually expand their understanding to more advanced concepts as they grow, creating a smooth learning path from basic programming concepts to full object-oriented programming."
"My favorite parts of Java 25 are compact source files, instance main methods, and module import declarations, as these features create a low ceremony on-ramp to Java for beginning programmers," said
"When the six-month feature release cadence was announced with Java 9, I was one of the biggest skeptics, and even said so publicly. Would Oracle be able to pull it off? I had my doubts, as we had gotten used to a new release every three years," said Dr.
"Java's greatest strength is its community. At JUG Oberpfalz, we're restarting our '(Re)Start with Java' talks in 2025, and developers are always impressed by how much the language has evolved," said
To learn more about Java and its global ecosystem, please visit:
- Dev.java : The official portal for learning Java
- Inside.java : News and views from the members of the Java Team at Oracle
- Java YouTube : The official Java YouTube channel for Java learning videos
Additional Resources
- Download Oracle JDK 25
- Read the Java 25 technical blog
- Learn more about JavaOne 2026 and sign up for updates
- Watch the Java 25 livestream
- Learn more about the Oracle Java SE Universal Subscription
- Learn more about the Java Management Service
About Oracle
Oracle offers integrated suites of applications plus secure, autonomous infrastructure in the Oracle Cloud. For more information about Oracle (NYSE: ORCL), please visit us at www.oracle.com.
Future Product Disclaimer
The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle's products may change and remains at the sole discretion of
Trademarks
Oracle, Java, MySQL and
View original content to download multimedia:https://www.prnewswire.com/news-releases/oracle-releases-java-25-302557064.html
SOURCE Oracle