A New Model for Java Object Initialization
summary
Describes a concrete plan: Java 24’s Flexible Constructor Bodies formalizes an early/late construction split so instance initializers can run before objects become observable, tracking a larval state for classes and instances; runtime diagnostics first (cheap tracing of unread static/array fields), then an opt-in warnings compiler check (survey: 2.3M classes, 1.1M initialized fields with only 3% this-dependency; ~1M implicit-super constructors with 13% dependency), and future opt-in exceptions plus array fill/lambda initializers to enable Valhalla value-class layouts and tighter null/size guarantees.
AI-written summary · about
chapters (12)
- 0:00Introduction to initialization
- 1:04Defining initialization
- 5:47Variable initialization
- 9:24Field initialization problems
- 12:27Class initialization process
- 15:02Interacting with larval classes
- 19:48Instance initialization process
- 23:11Managing larval objects
- 26:23Improving instance initialization
- 30:46Array initialization improvements
- 32:25Importance of improvements
- 37:39Q&A session
related talks
44mA New Model for Java Object Initialization
39mEverything You Never Wanted to Know about Java Class Initialization
52mJava Language Futures
57mStay Ahead with Java’s Latest Features in JDK 23
36mJava Language Futures - Mid 2020 Edition
57mJava Value Types: what is it and why are they important
52mValue Objects in Valhalla
01h 00mJava Language Futures - All Aboard Project Amber
