Welcome to LWorld: The current state of value types in Java
summary
Project Valhalla’s LWorld unifies value types and references so user classes become immutable and identity-less and the JVM can embed them for a flattened representation, eliminating per-element headers and pointers. New bytecodes (defaultvalue, withfield) and changed get/put/array semantics let arrays behave like primitives; generics remain un-specialized and nullable variants use a ? marker. Implementation raises JIT, GC and class-loading complexity, risks wider tear on >64‑bit flattened fields, and targets LW10→LW20→LW100 for migration and specialized generics.
AI-written summary · about








