On Fri, 17 Oct 2025 09:25:01 GMT, Per Minborg <[email protected]> wrote:

>> Implement JEP 526: Lazy Constants (Second Preview)
>> 
>> The lazy list/map implementations are broken out from `ImmutableCollections` 
>> to a separate class.
>> 
>> The old benchmarks are not moved/renamed to allow comparison with previous 
>> releases.
>> 
>> `java.util.Optional` is updated so that its field is annotated with 
>> `@Stable`.  This is to allow `Optional` instances to be held in lazy 
>> constants and still provide constant folding.
>
> Per Minborg has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Update javadocs

src/java.base/share/classes/java/lang/LazyConstant.java line 46:

> 44:  * A lazy constant is created using the factory method
> 45:  * {@linkplain LazyConstant#of(Supplier) LazyConstant.of({@code 
> <computing function>})}.
> 46:  * When created, the contents (and hence the lazy constant itself) is 
> <em>not initialized</em>.

"When created, the lazy constant is not initialized, meaning it has no 
contents."

E.g. it's the lazy constant that is initialized/not initialized. The content 
"just is". (or "is not", if not initialized).

src/java.base/share/classes/java/lang/LazyConstant.java line 47:

> 45:  * {@linkplain LazyConstant#of(Supplier) LazyConstant.of({@code 
> <computing function>})}.
> 46:  * When created, the contents (and hence the lazy constant itself) is 
> <em>not initialized</em>.
> 47:  * The contents (of type {@code T}) can then be <em>initialized</em>

Again, "a lazy constant can be initialized, and its content retrieved, by 
calling get"

src/java.base/share/classes/java/lang/LazyConstant.java line 50:

> 48:  * (and retrieved) by calling {@linkplain #get()}. The first time 
> {@linkplain #get()}
> 49:  * is called, the underlying <em>computing function</em> (provided at 
> construction) will
> 50:  * be invoked and the result will be used to initialize the contents. 
> Once initialized,

"and the result will be used to initialize the lazy constant. Once a lazy 
constant is initialized, its contents can never change..."

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/27605#discussion_r2439058429
PR Review Comment: https://git.openjdk.org/jdk/pull/27605#discussion_r2439060624
PR Review Comment: https://git.openjdk.org/jdk/pull/27605#discussion_r2439064085

Reply via email to