JavaOne'25 had great talks from OpenJDK insiders and from community experts, about technical and non-technical topics. Here are a few highlights: An explanation for why _not_ to use unit tests for AOT training runs on JDK 24, a garbage collection primer and comparison, two tips on how to analyze your Maven build, the announcement that `final` will eventually mean _really_ final and how to simulate that today, a detailed look at how to build an advanced retrieval augmenter for quering AI models, and last but not least, the roadmap for value types and null restriction.
JavaOne'25 playlist: https://www.youtube.com/playlist?list=PLX8CzqL3ArzVV1xRJkRbcM2tOgVwytJAi
JavaOne'25 schedule: https://dev.java/community/javaone-2025/schedule/
~~~ Chapters ~~~
0:00 Intro
0:58 Unit Tests for AOT Training Runs
full conversation with Dan:
https://www.youtube.com/watch?v=mk_2MIWxLI0&list=PLX8CzqL3ArzVV1xRJkRbcM2tOgVwytJAi&t=6264s
JEP 483: Ahead-of-Time Class Loading & Linking: https://openjdk.org/jeps/483
2:11 GC Primer and Comparison
JEP 490: ZGC: Remove the Non-Generational Mode: https://openjdk.org/jeps/490
5:02 Analyze Your Maven Build
Richard's repo: https://github.com/rfichtner/maven-survival-guide
7:29 Truly Final
Inside Java Podcast: https://inside.java/podcast/
JEP draft: Prepare to Make Final Mean Final: https://openjdk.org/jeps/8349536
make `final` _final_ now: -XX:+UnlockExperimentalVMOptions -XX:+TrustFinalNonStaticFields
9:08 Building Advanced RAG
11:46 Valhalla Roadmap
Tags: #JavaOne #Java #Java24 #OpenJDK #AI #Performance