4 min Devops

Oracle Java 25 brings AI boost, 18 JEPs and LTS

Oracle Java 25 brings AI boost, 18 JEPs and LTS

Oracle has released Java 25, a version that will receive Long-Term Support (LTS). With 18 JDK Enhancement Proposals (JEPs), it aims to significantly improve the AI capabilities of the programming language. In addition, it is taking further steps towards support for Post-Quantum Cryptography (PQC).

One of the biggest annoyances of Java has always been the amount of code needed to write even “Hello World.” This is a barrier for new users. Oracle wants to do something about this. “Paving the on-ramp” is therefore receiving a lot of attention, including in the pre-briefing we attended on Java 25. A good example of this is JEP 512 (Compact Source Files and Instance Main Methods). New users can write their first programs without needing extensive knowledge of the language. System and IT administrators should also be able to quickly build small programs in this way.

AI is central to Java 25

Java is celebrating its 30th anniversary this year, and Oracle is using this milestone to show that the programming language is still evolving with the times. In Java 25, there is naturally a lot of attention for AI. A good example of this is the Vector API (JEP 508), which is now in its tenth incubation version. The Vector API helps developers perform vector calculations that are commonly used in AI inferencing and compute scenarios.

In addition to the Vector API, there are several other JEPs related to AI. JEP 507 (Primitive Types in Patterns, instanceof, and switch) is in its third preview. This should make Java more uniform and expressive (i.e., easier to use). According to Oracle, this will mainly help with integrating AI inferencing into applications. JEP 511 (Module Import Declarations) also plays a role in this. It makes libraries easier to reuse.

JEP 505 (Structured Concurrency) and JEP 506 (Scoped Values) are also important in terms of AI. JEP 505 makes it possible to treat multiple groups of tasks in different threads as a single unit. This fits in well with the development of AI applications. JEP 506 makes it possible to share immutable data within and between threads.

Performance and monitoring get a boost

The performance updates in Java 25 may not be catching everyone’s eye, but are important for businesses. For example, JEP 519 (Compact Object Headers) reduces object headers to 64 bits, which reduces the memory footprint. For applications that use a lot of objects, this can make a noticeable difference.

In addition, several JDK Flight Recorder (JFR) JEPs are getting new (sometimes experimental) features for better monitoring. JEP 509 (JFR CPU-Time Profiling), JEP 518 (JFR Cooperative Sampling), and JEP 520 (JFR Method Timing & Tracing) should make it easier to detect performance issues. This can make a big difference, especially in cloud environments where resources are expensive.

Post-quantum cryptography as preparation

AI may still dominate new versions of Java, but security is also a focus. Java 25 introduces support for post-quantum cryptography via JEP 470 (PEM Encodings of Cryptographic Objects) and JEP 510 (Key Derivation Function API). These preparations are important, even though it is still unclear when quantum computers will actually become a threat.

At the launch of Java 24 earlier this year, Donald Smith, VP of Product Management, also discussed the transition to PQC within Java. Here is what we reported at the time:

“During a briefing on Java 24 that we attended, Donald Smith, VP of Product Management at Oracle, specifically addressed the preparations for post-quantum cryptography. “It’s not clear when quantum computers will be available, but we do need to make plans to phase out traditional methods,” he said. This is not new in itself, he continued, citing the introduction of TLS 1.3. That was introduced in 2018, while Java 8 was launched in 2014. However, it was possible to integrate it retrospectively. Oracle wants to do the same with support for post-quantum cryptography.”

The above was also reiterated during the briefing on Java 25.

Java 25 is an LTS version

The new features and updates to the various JEPs are undoubtedly the most important parts of Java 25 for developers. However, for organizations as a whole, the fact that Java 25 is an LTS release is also very significant. Java 25 will receive eight years of support. At a time when many Oracle Java customers are supposedly considering leaving due to changed licensing fees (among other reasons), that stability offers a reason to stay. Oracle promises quarterly updates until September 2028 under the No-Fee Terms and Conditions (NFTC). Updates after that date are covered by the paid Java SE OTN license until at least September 2033.