Mar 6, 2026
Lazily initializing fields in Java is error-prone and undermines
constant-folding. JDK 26 comes with JEP 526, which previews
LazyConstant, a type
that lazily initializes a value through a given Supplier. It executes
that supplier at most once successfully and then assigns the value
to a field annotated with @Stable, which allows
constant folding. This API is also a poster child for how OpenJDK
develops and evolves features.