Foojay Podcast #68: Welcome to OpenJDK (Java) 24
JavaJava Core

Foojay Podcast #68: Welcome to OpenJDK (Java) 24

We serve you a podcast about the new Java version every six months.

Our regular guest, Simon Ritter, Deputy CTO of Azul, is known on social media as “speakjava.” He is part of the OpenJDK vulnerability group, JCP executive committee, and expert group for the Java SE specification request so that he can share a lot of inside information with us.

In this episode, we are joined by Hanno Embregts, a Java Developer by day and musician by night. He publishes a post on Foojay with all the details of every new Java release and prepared a long description of all the new features included in Java 24.

Let’s see what this new release brings us…

Video

Podcast Apps

You can listen and subscribe to the Foojay Podcast on:

Read more about Java 24 on Foojay

Guests

Simon Ritter

Hanno Embregts

Content

00:00 Introduction of the topic and guests

00:58 Why 24 JEPs in release 24?

02:16 Overview of the changes in Java 24

03:37 The changes in Hotspot and GC

JEP 404 : Generational Shenandoah (Experimental)

JEP 450 : Compact Object Headers (Experimental)

JEP 475 : Late Barrier Expansion for G1

04:46 JEP 483 : Ahead-of-Time Class Loading & Linking

07:30 JEP 491 : Synchronize Virtual Threads without Pinning

10:27 Security JEPs and Quantum Resistance

JEP 478 : Key Derivation Function API (Preview)

JEP 496 : Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism

JEP 497 : Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm

13:00 Tools

JEP 493 : Linking Run-Time Images without JMODs

16:47 Repreviews and Finalizations

JEP 489 : Vector API (Ninth Incubator)

18:27 JEP 484 : Class-File API

19:13 JEP 485 : Stream Gatherers

21:22 JEP 487 : Scoped Values (Fourth Preview)

22:15 JEP 488 : Primitive Types in Patterns, instanceof, and switch (Second Preview)

22:30 How JEPs get finalized and included

23:44 JEP 492 : Flexible Constructor Bodies (Third Preview)

24:09 JEP 494 : Module Import Declarations (Second Preview)

25:07 JEP 495 : Simple Source Files and Instance Main Methods (Fourth Preview)

29:24 JEP 499 : Structured Concurrency (Fourth Preview)

34:04 Deprecations & Restrictions

34:46 JEP 472 : Prepare to Restrict the Use of JNI

37:15 JEP 486 : Permanently Disable the Security Manager

38:53 JEP 490 : ZGC: Remove the Non-Generational Mode
Trash Talk - Exploring the JVM memory management by Gerrit Grunwald

42:09 JEP 498 : Warn upon Use of Memory-Access Methods in sun.misc.Unsafe

45:43 Removal of 32-bit support

JEP 479 : Remove the Windows 32-bit x86 Port

JEP 501 : Deprecate the 32-bit x86 Port for Removal

47:37 Should we use Java 24 in production?

51:09 Looking forward to the next LTS in September

54:14 Conclusion


Written by

Frank Delporte

Frank Delporte is a Java Champion, Java Developer, Senior Technical Writer at Azul, Blogger, Author of "Java Programming for Raspberry Pi - A Hands-On Guide to Electronics and IoT Projects", and Open-Source Contributor for Pi4J, Lottie4J, MelodyMatrix,... …

Written by

Hanno Embregts

Hanno Embregts is a Java Developer with a passion for learning, teaching and making music. In his day-to-day job as a Teacher / Technology Advocate at Info Support, Hanno prefers work that is fast-paced and versatile. This is why he juggles Java development, …

Written by

Simon Ritter

Simon is Deputy CTO at Azul.