Oracle today announced the availability of Java 25, the latest version of the world's number one programming language and development platform. Java 25 (Oracle JDK 25) will help organizations drive business growth by delivering thousands of improvements that boost developer productivity and enhance the platform's performance, stability, and security. Additionally, Oracle will provide long-term support for Java 25 for at least eight years. Find out more about the JDK 25 technology on the Java 25 livestream at 8:00am CT on Tuesday, September 16th.
"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 Arnal Dayaratna, research vice president, software development, IDC. "Oracle's Java technology stewardship continues to lead the evolution of the Java programming language and platform, especially in relation to AI and security, and Java's consistent six-month release cadence is designed to further accelerate innovation. As a result, Java is well-positioned to deliver a continuous stream of modern features that address next-generation, AI-powered application development."
"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 Georges Saab, senior vice president, Oracle Java Platform and chair, OpenJDK governing board. "Java 25 highlights Oracle's ongoing investment in features and capabilities that power AI solutions and to simplify the language, making Java easier for new developers and IT teams to learn."
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 September 2028 under the Oracle No-Fee Terms and Conditions (NFTC), and JDK 25 updates released after that date will be offered under the Java SE OTN License (OTN) planned until at least September 2033.
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.