Why architecture matters here
Valhalla changes performance + semantics. Architecture matters because value semantics + flat layout + specialization together enable a new class of Java code.
The architecture: every piece explained
The top strip is the core. Value class no identity. Primitive class null-restricted. Flat layout inline in arrays. Generic specialization primitive generics.
The middle row is compatibility. Nullability annotation flavor. Migration existing types. GC + JIT interaction layout aware. Performance cache-line friendly.
The lower rows are practice. Tooling IDE + reflection. Compatibility. Ops — adoption + testing + rollback.
End-to-end flow
End-to-end: define Complex as value class. Complex[] stored inline; cache-friendly. Generic List