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...
Guests
Simon Ritter
https://www.linkedin.com/in/siritter/
https://bsky.app/profile/speakjava.bsky.social
Hanno Embregts
https://www.linkedin.com/in/hannotify/
https://bsky.app/profile/hanno.codes
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)
https://openjdk.org/jeps/404
JEP 450: Compact Object Headers (Experimental)
https://openjdk.org/jeps/450
JEP 475: Late Barrier Expansion for G1
https://openjdk.org/jeps/475
04:46 JEP 483: Ahead-of-Time Class Loading & Linking
https://openjdk.org/jeps/483
07:30 JEP 491: Synchronize Virtual Threads without Pinning
https://openjdk.org/jeps/491
10:27 Security JEPs and Quantum resistance
JEP 478: Key Derivation Function API (Preview)
https://openjdk.org/jeps/478
JEP 496: Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism
https://openjdk.org/jeps/496
JEP 497: Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm
https://openjdk.org/jeps/497
13:00 Tools
JEP 493: Linking Run-Time Images without JMODs
https://openjdk.org/jeps/493
16:47 Repreviews and finalizations
JEP 489: Vector API (Ninth Incubator)
https://openjdk.org/jeps/489
18:27 JEP 484: Class-File API
https://openjdk.org/jeps/484
19:13 JEP 485: Stream Gatherers
https://openjdk.org/jeps/485
21:22 JEP 487: Scoped Values (Fourth Preview)
https://openjdk.org/jeps/487
22:15 JEP 488: Primitive Types in Patterns, instanceof, and switch (Second Preview)
https://openjdk.org/jeps/488
22:30 How JEPs get finalized and included
23:44 JEP 492: Flexible Constructor Bodies (Third Preview)
https://openjdk.org/jeps/492
24:09 JEP 494: Module Import Declarations (Second Preview)
https://openjdk.org/jeps/494
25:07 JEP 495: Simple Source Files and Instance Main Methods (Fourth Preview)
https://openjdk.org/jeps/495
29:24 JEP 499: Structured Concurrency (Fourth Preview)
https://openjdk.org/jeps/499
34:04 Deprecations & Restrictions
34:46 JEP 472: Prepare to Restrict the Use of JNI
https://openjdk.org/jeps/472
37:15 JEP 486: Permanently Disable the Security Manager
https://openjdk.org/jeps/486
38:53 JEP 490: ZGC: Remove the Non-Generational Mode
https://openjdk.org/jeps/490
Trash Talk - Exploring the JVM memory management by Gerrit Grunwald
https://www.youtube.com/watch?v=Jh79ojcror0
42:09 JEP 498: Warn upon Use of Memory-Access Methods in sun.misc.Unsafe
https://openjdk.org/jeps/498
45:43 Removal of 32-bit support
JEP 479: Remove the Windows 32-bit x86 Port
https://openjdk.org/jeps/479
JEP 501: Deprecate the 32-bit x86 Port for Removal
https://openjdk.org/jeps/501
47:37 Should we use Java 24 in production?
51:09 Looking forward to the next LTS in September
54:14 Conclusion
About Foojay.io, the Friends Of OpenJDK!
The podcast of foojay.io, a central resource for the Java community’s daily information needs, a place for friends of OpenJDK, and a community platform for the Java ecosystem — bringing together and helping Java professionals everywhere.