Java 25 Is Here - What's New?
Written by Nikos Vaggalis   
Wednesday, 17 September 2025

Oracle has announced the availability of Java 25, the latest version of that stellar programming language and development platform.

Months before the official launch we were being made aware more or less of what the new version would herald, as bits and pieces were being disclosed during the several Java conferences that took place since the beginning of the year. 

For instance on this year's SpringI/O Nicolai Parlog talked about the forthcoming JEP512, which would make Java easier to learn for beginners.

As he demonstrated, we would be able to go from the contrived but heavy weight for beginners "Hello World" example :

public class HelloWorld {
    public static void main(String[] args) {
       System.out.println("Hello, World!");
    }
}

to its much simpler counterpart under the JEP upon it being absorbed by Java's version 25:

void main() {
    IO.println("Hello, World!");
}

No more waiting as since yesterday this has become a reality!

Then at JavaOne, Oracle's official event about Java, Brian Goetz's talk "Where is the Java language going?" revealed a lot and set the future directions for the language to follow with a particular focus on projects Amber and Valhalla. A must watch not just about version 25 but about the wider outlook and the future expectations.

But these were just two examples. All in all JDK 25 delivered sixteen enhancements ranging from the core of Java language itself to libraries to security, performance, runtime and monitoring. A few key of those JEPs were:

Oracle JDK 25 Language Features

JEP 507: Primitive Types in Patterns, instanceof, and switch 3rd Preview
Enhances pattern matching by allowing primitive types in all pattern contexts and extends instanceof and switch to work with all primitive types.
Developers can thus 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.

JEP 512: Compact Source Files and Instance Main Methods.
The one about the aforementioned "Hello World" example.
The deal here is that students can write their first programs in a
concise manner without needing to understand language features designed for large programs so that they can grow their code gracefully as their skills expand.

JEP 513: Flexible Constructor Bodies
In the body of a constructor, allow statements to appear before an explicit constructor invocation, i.e., super(...) or this(...). Such statements cannot reference the object under construction, but they can initialize its fields and perform other safe computations. This change allows many constructors to be expressed more naturally. It also allows fields to be initialized before they become visible to other code in the class, such as methods called from a superclass constructor, thereby improving safety and reliability by allowing input validation and safe computations before explicitly invoking a constructor.

Oracle JDK 25 Libraries

JEP 505: Structured Concurrency 5th Preview
Structured concurrency treats groups of related tasks running in different threads as a single unit of work that way helping developers to improve the
maintainability, reliability, and observability of multithreaded code by simplifying concurrent programming.

JEP 508: Vector API 10th Incubator
Introduces an API to express 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.

Security/Performance/Monitoring

JEP 510: Key Derivation Function API
Prepares developers 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.

JEP 514: Ahead-of-Time Command-Line Ergonomics
Accelerates 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 509: JFR CPU-Time Profiling (Experimental)
Improves the productivity and the efficiency of Java 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.

In a glimpse the summary of all the JEPs incorporated in the new version :

  • JEP 470 PEM Encodings of Cryptographic Objects (Preview)
  • JEP 502 Stable Values (Preview)
  • JEP 505 Structured Concurrency (Fifth Preview)
  • JEP 506 Scoped Values
  • JEP 507 Primitive Types in Patterns, instanceof, and switch (Third Preview)
  • JEP 508 Vector API (Tenth Incubator)
  • JEP 509 JFR CPU-Time Profiling (Experimental)
  • JEP 510 Key Derivation Function API
  • JEP 511 Module Import Declarations
  • JEP 512 Compact Source Files and Instance Main Methods
  • JEP 513 Flexible Constructor Bodies
  • JEP 514 Ahead-of-Time Command-Line Ergonomics
  • JEP 515 Ahead-of-Time Method Profiling
  • JEP 518 JFR Cooperative Sampling
  • JEP 519 Compact Object Headers
  • JEP 520 JFR Method Timing & Tracing

The release also includes, as usual, hundreds of smaller enhancements and thousands of bug fixes.

And with that, as Georges Saab, senior vice president, Oracle Java Platform and chair, OpenJDK governing board stated:

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.

But before wrapping up, something of great importance is that 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.

And now wrapping it up, at the end of 2023 in "The I Programmer Java 2023 Recap" I answered the pressing question "Why go for Java, when there's C#, Go, Rust and Python?". It's because Java has always been the favorite of enterprises:

Enterprises talked and still talk Java. Look no further than the Fortune 500 list of companies reliance on it. Yes, Blue Chips love it. The reasons are plenty. The one that enterprises value most is backwards compatibility, being notoriously allergic to radical updates and upgrades. Systems that worked 20 years ago, written in Java 5, should be able to compile and run under version 8. Stability is what matters.

Does this still hold true in 2025?
Yes it does. Java continues to influence the Enterprise, plays a most important role in the Cloud and currently is conquering the worlds of Devops and AI.

Of course, it's a bit unfair for the language to take all the credit. The other magic ingredient to success is of course the venerable JVM, which looks like becoming the melting pot for all languages. And there's a great reason why.

In my recent interview with Flavio Glock about his PerlOnJava project, an implementation of the Perl programming language designed to run on the JVM, I asked whether integration with modern backends like the JVM a prerequisite for Perl to stay alive and continue thrive?

The answer given by Flavio was enlightening :

In this cloud-driven era, integrating with modern backends like the JVM is crucial for Perl’s continued relevance. Projects like PerlOnJava demonstrate Perl's ability to adapt and thrive in a new landscape. By leveraging the JVM, Perl can access an extensive library ecosystem, take advantage of modern performance optimizations, and integrate more easily into enterprise-level solutions, like cloud services and containerized environments.

So Java's ecosystem's ripples reach far beyond the language...

 

More Information

The Arrival of Java 25

 

Related Articles

2025 Java Conferences Galore Part 5 

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Python - The Documentary
29/08/2025

'Python: The Documentary' is now out and we have it for you all to view right here. The official premiere took place yesterday evening at PyCon Greece 2025 simultaneously with its availability on [ ... ]



Cactus Lets You Build LLM Powered Applications On Your Mobile Phone
25/08/2025

Cactus is a "Cross-platform framework for deploying LLM/VLM/TTS models locally in your app". What does that mean?


More News

pico book

 

Comments




or email your comment to: comments@i-programmer.info