Foojay Podcast #57: Welcome to OpenJDK (Java) 23

Author: Frank Delporte

Original post on Foojay: Read More

OpenJDK (Java) 23 is (almost) here!

OpenJDK 23 introduces three new features to the language and runtime and many bug fixes, small improvements, and a longer list of preview features.

What are the most important facts about this release? Let’s find out…

Video

Podcast (Audio Only)

Guests

Simon Ritter

https://www.linkedin.com/in/siritter/ 

https://mastodon.social/@speakjava 

https://twitter.com/speakjava  

Artur Skowroński

https://www.linkedin.com/in/arturskowronski/ 

https://x.com/ArturSkowronski  

Content

00:00 Introduction 

00:49 What OpenJDK version are we on? 

Foojay post by Loic Mathieu: https://foojay.io/today/java-23-whats-new/  

01:26 Why switch to OpenJDK 23? 

02:45 JEP 467: Markdown Documentation Comments 

https://openjdk.org/jeps/467

04:15 JEP 474: ZGC: Generational Mode by Default 

https://openjdk.org/jeps/474

https://www.azul.com/blog/what-should-i-know-about-garbage-collection-as-a-java-developer/

https://newrelic.com/resources/report/2024-state-of-the-java-ecosystem

14:17 JEP 471: Deprecate the Memory-Access Methods in sun.misc.Unsafe for Removal 

https://openjdk.org/jeps/471

Foojay post by Bazlur Rahman: https://foojay.io/today/unsafe-is-finally-going-away-embracing-safer-memory-access-with-jep-471/  

22:04 Preview and incubator features 

22:31 JEP 466: Class-File API (Second Preview) 

https://openjdk.org/jeps/466

25:48 JEP 455: Primitive Types in Patterns, instanceof, and switch (Preview) 

https://openjdk.org/jeps/455

https://openjdk.org/projects/valhalla

30:52 JEPs leading to cleaner code 

https://openjdk.org/projects/amber

32:28 469 vector 

35:28 JEP 473: Stream Gatherers (Second Preview) 

https://openjdk.org/jeps/473

38:07 JEP 476: Module Import Declarations (Preview) 

https://openjdk.org/jeps/476

Overview of projects with modules: https://docs.google.com/spreadsheets/u/2/d/e/2PACX-1vQbHhKXpM1_Vop5X4-WNjq_qkhFRIOp7poAF79T0PAjaQUgfuRFRjSOMvki3AeypL1pYR50Rxj1KzzK/pubhtml  

43:03 JEP 477: Implicitly Declared Classes and Instance Main Methods (Third Preview) 

https://openjdk.org/jeps/477

45:40 JEP 480: Structured Concurrency (Third Preview) 

https://openjdk.org/jeps/480

46:26 JEP 481: Scoped Values (Third Preview) 

https://openjdk.org/jeps/481

46:40 JEP 482: Flexible Constructor Bodies (Second Preview) 

https://openjdk.org/jeps/482

48:56 Removal of String templates 

https://openjdk.org/jeps/430 (OpenJDK 21): String Templates (Preview) 

https://openjdk.org/jeps/459 (OpenJDK 22): String Templates (Second Preview) 

Nice description on the mailing list: https://mail.openjdk.org/pipermail/amber-spec-experts/2024-March/004010.html  

53:21 Process of releases 

55:25 Predictions for next LTS 25 

57:48 License changes for Oracle JDK 17 

58:38 About JVM Weekly by Artur (and Scala, AI, LLMs) 

JVM Weekly Newsletter: https://www.linkedin.com/newsletters/7097859802881540096/  

https://webtechie.be/tags/jfx-in-action

1:06:18 Conclusions 

The post Foojay Podcast #57: Welcome to OpenJDK (Java) 23 appeared first on foojay.