OpenJDK (Java) 23 is here! This version introduces three new features to the language and runtime, 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...
Guests
Simon Ritter
- https://www.linkedin.com/in/siritter/
- https://mastodon.social/@speakjava
- https://twitter.com/speakjava
Artur Skowroński
Content
00:00 Introduction00: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 JEP 469: Vector API (Eighth Incubator)
https://openjdk.org/jeps/469
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