Skip to content
Artwork for Foojay.io | Friends of OpenJDK and Java Programming
Foojay.io | Friends of OpenJDK and Java Programming · February 14 · 1 hr 3 min

From Java 21 to 25: The Features That Changed Everything (#90)

Every six months, we get a new version of Java. Java 26 is just around the corner and will be released soon. But most companies stick to LTS (Long-Term Support) versions, which are maintained and receive security updates for many more years. Versions 8, 11, 17, 21, and 25 are such LTS versions. Hopefully, most of your systems are already on the latest versions and you are not stuck on 8 or earlier. As a reminder, 8 was released in 2014, so much has changed since then.If you are doubting moving from 21 to 25, or even from an earlier version to the latest LTS, this podcast is for you! Together with Jakob Jenkov, we discussed the most important changes, and this episode includes a few quotes from interviews recorded at conferences last year. Guests Jakob Jenkov https://www.linkedin.com/in/jakob-jenkov-4a3a8/ Jonathan Vila https://www.linkedin.com/in/jonathanvila/ Ryan Svihla https://www.linkedin.com/in/ryan-svihla-096752182/ Mary Grygleski https://www.linkedin.com/in/mary-grygleski/ Anton Arhipov https://www.linkedin.com/in/antonarhipov/ Ronald Dehuysser https://www.linkedin.com/in/ronalddehuysser/ Jonathan Ellis https://www.linkedin.com/in/jbellis/ Content 00:00 Introduction of topic and guest Tutorials by Jakob Podcast #89: Quarkus and Agentic Commerce 03:30 Bugfixes and performance improvements "under the hoods" Quote Jonathan Vila 08:00 Java as a scripting language Quote Ryan Svihla Compact Source Files and Instance Main methods Launch Multi-File Source-Code Programs https://www.jbang.dev/ Quote Mary Grygleski 15:03 GC Improvements Generational Shenandoah Trash Talk - Exploring the JVM memory management by Gerrit Grunwald What Should I Know About Garbage Collection as a Java Developer? 19:44 Project Loom: Virtual Threads and Structured Concurrency Quote Anton Arhipov 29:44 How Java evolves 6-months release cycle How incubator and preview features are used to get feedback from the community Long-Term Support Short-Term Support versions Foojay Podcast #28: Java 21 Has Arrived! Foojay Podcast #45: Welcome to Java 22 Foojay Podcast #57: Welcome to OpenJDK (Java) 23 Foojay Podcast #68: Welcome to OpenJDK (Java) 24 Foojay Podcast #78: Welcome to OpenJDK 25! 32:15 Project Leyden: Ahead-of-time features Ahead-of-Time Command-Line Ergonomics Ahead-of-Time Method Profiling Ahead-of-Time Class Loading & Linking 39:15 Project Babylon Java on CPU, GPU, FPGA? This is already possible with TornadoVM Foojay Podcast #82: OpenJDK Projects (Leyden, Babylon, Panama) and TornadoVM 43:25 Class-File API Quote Ronald Dehuysser JavaFX In Action #22 with Matt Coley, diving into byte code and JARs with Recaf and JavaFX libraries 49:20 Foreign Function and Memory API The FFM API: How OpenJDK Changed the Game for Native Interactions (And Made Pi4J Better!) jChampions Conference talk 'Foreign Function & Memory (FFM) API on Raspberry Pi' 54:26 Vector API Quote Jonathan Ellis + Ryan Svihla 59:59 Removal of String templates 01:00:26 Taking a look into the JVM of the future 01:03:08 Conclusion

0:00-1:03:55

transcript

No transcript — this publisher did not publish one.

show notes

Every six months, we get a new version of Java. Java 26 is just around the corner and will be released soon. But most companies stick to LTS (Long-Term Support) versions, which are maintained and receive security updates for many more years. Versions 8, 11, 17, 21, and 25 are such LTS versions. Hopefully, most of your systems are already on the latest versions and you are not stuck on 8 or earlier. As a reminder, 8 was released in 2014, so much has changed since then.If you are doubting moving from 21 to 25, or even from an earlier version to the latest LTS, this podcast is for you! Together with Jakob Jenkov, we discussed the most important changes, and this episode includes a few quotes from interviews recorded at conferences last year.

Guests

Content

00:00 Introduction of topic and guest

03:30 Bugfixes and performance improvements "under the hoods"

  • Quote Jonathan Vila

08:00 Java as a scripting language

  • Quote Ryan Svihla
  • Compact Source Files and Instance Main methods
  • Launch Multi-File Source-Code Programs
  • https://www.jbang.dev/
  • Quote Mary Grygleski

15:03 GC Improvements

19:44 Project Loom: Virtual Threads and Structured Concurrency

  • Quote Anton Arhipov

29:44 How Java evolves

32:15 Project Leyden: Ahead-of-time features

  • Ahead-of-Time Command-Line Ergonomics
  • Ahead-of-Time Method Profiling
  • Ahead-of-Time Class Loading & Linking

39:15 Project Babylon

43:25 Class-File API

49:20 Foreign Function and Memory API

54:26 Vector API

  • Quote Jonathan Ellis + Ryan Svihla

59:59 Removal of String templates

01:00:26 Taking a look into the JVM of the future

01:03:08 Conclusion


links21