Presented by *Brian Goetz* - Java Language Architect (Java Platform Group - Oracle) during the *JVM* *Language* *Summit* (August 2024 - Santa Clara, CA).
_*Project Valhalla* wants to heal the rift in #Java's type system between classes and primitives by introducing value classes, which "code like a class, work like an int" and offer a flat and dense memory layout. Java's epic refactor, as it has been dubbed, has been going on for 10 years but is now entering the home stretch. At #JVMLS 2024, Java Language Architect Brian Goetz explained the proposed solution: value classes (already available in an EA build), null-restricted types, beefed up definite assignment analysis, and strict initialization._
*Chapters*
0:00 Executive Summary
7:19 Brief History
15:26 Value Classes ⟪~⟫ Object Identity
24:03 Null-Restricted Types ⟪~⟫ Nullability
31:53 Strict Initialization
35:06 The Cascade of Simplification
40:19 Serialization
41:13 Flattening & Tearing Values
47:10 Mopping up
Make sure to check the https://www.youtube.com/playlist?list=PLX8CzqL3ArzUEYnTa6KYORRbP3nhsK0L1 playlist.
*Resources*
• Project Valhalla ➤ https://openjdk.org/projects/valhalla/
• Value Classes and Objects (Preview) ➤ https://openjdk.org/jeps/401
• Valhalla Early-Access Builds Implementing Value Classes and Objects ➤ https://jdk.java.net/valhalla/
• Enhanced Primitive Boxing (Preview) ➤ https://openjdk.org/jeps/402
• Draft JEP - Null-Restricted Value Class Types (Preview) ➤ https://bugs.openjdk.org/browse/JDK-8316779
• Draft JEP - Null-Restricted and Nullable Types (Preview) ➤ https://bugs.openjdk.org/browse/JDK-8303099
• The Saga of the Parametric VM ➤ https://cr.openjdk.org/~jrose/values/parametric-vm.pdf
• OpenJDK ➤ https://openjdk.org
• Inside Java ➤ https://inside.java/tag/valhalla
• Dev.Java ➤ https://dev.java
• JVMLS ➤ https://openjdk.org/projects/mlvm/jvmlangsummit/
*Tags:* #OpenJDK #Valhalla #Performance