Welcome to another episode of the Foojay Podcast! In this episode, we're talking about Java 26, released on March 17 in the year 26. Again, right on schedule with Java's six-month release cadence.
Now, Java 26 is not a Long Term Support (LTS) release; that was Java 25. But don't let that fool you into thinking there's nothing interesting here. This release brings ten JDK Enhancement Proposals (JEPs). They cover everything from performance improvements to long-overdue cleanups. Of those ten JEPS, five are new features, and we also get five preview/incubator features.
Guests
Simon Ritter
- https://www.linkedin.com/in/siritter/
Loïc Mathieu
- https://www.linkedin.com/in/lo%C3%AFc-mathieu-475b144/
Content
00:00 Introduction of topic and guests
01:35 Differences between Long and Short Term Support
05:10 Which Java versions are used by companies
- https://foojay.io/today/foojay-podcast-90-highlights-of-the-java-features-between-lts-21-and-25/
07:54 Internal changes and improvements in release 26, highlighting UUIDv7 support
- https://foojay.io/today/java-26-whats-new/
12:02 JEP 500: Prepare to Make Final Mean Final
13:24 JEP 526: Lazy Constants (Second Preview)
16:12 JEP 517: HTTP/3 for the HTTP Client API
- https://en.wikipedia.org/wiki/HTTP/3
- https://en.wikipedia.org/wiki/QUIC
18:48 JEP 504: Remove the Applet API
20:52 JEP 524: PEM Encodings of Cryptographic Objects (Second Preview)
21:59 JEP 516: Ahead-of-Time Object Caching with Any GC
- https://openjdk.org/projects/leyden/
- https://docs.azul.com/prime/analyzing-tuning-warmup
- https://foojay.io/today/faster-java-warmup-crac-versus-readynow/
25:30 JEP 522: G1 GC: Improve Throughput by Reducing Synchronization
- Trash Talk - Exploring the JVM memory management by Gerrit Grunwald
28:04 JEP 525: Structured Concurrency (Sixth Preview)
- https://openjdk.org/projects/loom/
31:09 JEP 529: Vector API (Eleventh Incubator)
- https://openjdk.org/projects/panama/
- https://openjdk.org/projects/valhalla/
34:59 When do JEPs get selected to be included in a release
- https://openjdk.org/projects/jdk/26/
- https://openjdk.org/projects/jdk/27/
38:03 JEP 530: Primitive Types in Patterns, instanceof, and switch (Fourth Preview)
- https://openjdk.org/projects/amber/
- Java Puzzlers talk by Simon
42:14 Do we need "Carrier Classes"?
- Amber mailing list: Data Oriented Programming, Beyond Records
- JVM Weekly newsletter by Artur Skowroński
44:38 What changes does Java need for the AI world?
- JEP DRAFT 8361105: Code reflection (Incubator)
- https://openjdk.org/projects/babylon/
- https://www.tornadovm.org/
47:53 Remarkable numeric facts about releases
48:30 Conclusion