Programming with Minimal Values
summary
Minimal Value Types are a VM-first experiment that lets the JVM derive flattened runtime types from an ordinary annotated POJO via a value capable class annotation, producing a generated runtime class (e.g. Point$Value) and new bytecode actions like default value, vwithfield and boxing/unboxing. MethodHandle adaptations handle calls and boxing, and the prototype ships an interpreter plus C2 JIT on Linux x64 with an experimental javac extension; early benchmarks report noticeably improved layout and performance. Q denotes values
AI-written summary · about
chapters (17)
- 0:00Intro
- 1:02Project Valhalla
- 6:19Enter values
- 7:39How to tame your dragon
- 16:15Reality check
- 17:32Flashback: Invokedynamic
- 20:20Enter Minimal Values
- 21:29Declaring values
- 22:30From POJOs to values
- 31:08Working with values
- 33:01Creating objects
- 34:25Creating values
- 36:45Lambda forms
- 38:05Calling methods
- 39:36Values, boxes and modes
- 41:43More complex code
- 43:45Conclusion
related talks
56mValhalla Nullness Emotion
02h 44mValue Types and Pattern Matching: 1–1, Data at the Center
51mProject Valhalla: Flat Value Types in Java
57mJava Value Types: what is it and why are they important
20mCache Me If You Can: Speed Up Your JVM with Project Valhalla
51mProject Valhalla Update
47mValue Objects - The Next Big Thing in Java
52mValue Objects in Valhalla
