Return to site

๐Ÿš€ New Java 25 carousel is live โ€” JEPs 470โ€“521!

September 20, 2025

Today is the release of Java 25, so let's discover what it is about: the features...

Here is one swipeable deck covering the most impactful language, libraries, observability, AOT, and GC updates. Save it, share it, argue over it ๐Ÿ˜„

Highlights youโ€™ll see:

Language & UX (early slides from 470sโ€“510s)

- ๐Ÿงฉ Primitive Types in Patterns / instanceof / switch โ€” safer narrowing + uniform matching

- ๐Ÿ“ฆ Module Import Declarations โ€” import module java.se; for instant breadth

- โœ‚๏ธ Compact Source Files & Instance main โ€” zero-boilerplate on-ramp (IO.println)

- ๐Ÿงฑ Flexible Constructor Bodies โ€” validate/initialize before super() safely

- ๐Ÿงต Scoped Values (finalized) โ€” simple, fast, bounded-thread context

- ๐Ÿค Structured Concurrency (5th preview) โ€” fork/join done right with StructuredTaskScope

Core libs & crypto

- ๐Ÿงฎ Vector API (10th incubator) โ€” broader SIMD reach + Float16 auto-vectorization

- ๐Ÿ” KDF API (final) โ€” HKDF out of the box; Argon2-ready surface

Observability (JFR)

- โฑ๏ธ CPU-Time Profiling โ€” accurate CPU attribution via kernel timers

- ๐Ÿค Cooperative Sampling โ€” safe, low-bias stack sampling at safepoints

- ๐Ÿ”Ž Method Timing & Tracing โ€” targeted bytecode instrumentation with filters

AOT & runtime

- ๐Ÿงฐ AOT CLI Ergonomics โ€” one-step train+cache (-XX:AOTCacheOutput)

- ๐Ÿš€ AOT Method Profiling โ€” preload profiles so JIT optimizes immediately

- ๐Ÿงฑ Compact Object Headers (productized) โ€” smaller heaps, fewer GCs

- ๐ŸŒฑ Generational Shenandoah (productized) โ€” smoother pauses, better throughput

Which JEP are you most excited to try in your services? ๐Ÿ‘‡

(Personally, I like the 507, 511, 512, 513)

#Java #Java25 #OpenJDK #JEP #JVM #Performance #AOT #JFR #Observability #Profiling #Tracing #GarbageCollection

#Shenandoah #StructuredConcurrency #ScopedValues #VectorAPI #Developers #Backend #Cloud #DevTools