2025-09-19 –, 401
The 25 version of the JDK is a version on which vendors offer Long Term Support (LTS), and thus a version that companies and projects will adopt. It probably makes sense to take a look at all the features added to the JDK between 21 and 25, in the language, the API, and the JVM. This presentation focuses on four elements. This first one is the in-memory data processing, with the Gatherer API, the last addition to the Stream API. The second one has to do with asynchronous programming with the Loom project. Loom delivered Virtual Threads as a final feature in the JDK 21, and fixed the pinning issue in the JDK 24. It is delivering Scoped Values, a replacement of ThreadLocals as a final feature in the JDK 25, and a new version of the Structured Concurrency API, still as a preview feature in the JDK 25. And at last, we will talk about immutability and null values handling, with Stable Values, a new API available as a preview feature, also in the JDK 25.