> [JDK-8232806](https://bugs.openjdk.java.net/browse/JDK-8232806) introduced the > jdk.internal.lambda.disableEagerInitialization system property to be able to > disable eager initialization of lambda > classes. This was necessary to prevent side effects of class initializers > triggered by such initialization in the > context of the GraalVM native image tool. However, the change as it is > implemented means that the behaviour of > non-capturing lambdas depends on the value of `disableEagerInitialization`: > when it is false (the default) such lambdas > are actually a singleton while when it is true, a fresh instance is returned > every time. Programs should definitely > _not_ rely on reference equality since the Java spec does not guarantee it. > However, in order to separate concern and > ease debugging such bad programs, `disableEagerInitialization` shouldn't > influence the singleton vs. fresh instance > behaviour of lambdas in either direction.
Gilles Duboscq has updated the pull request incrementally with three additional commits since the last revision: - Remove extra field test from LambdaTest6 - Wrap long lines - Add deciated test in the jdk tests ------------- Changes: - all: https://git.openjdk.java.net/jdk/pull/93/files - new: https://git.openjdk.java.net/jdk/pull/93/files/979186b8..422cd01d Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=93&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=93&range=00-01 Stats: 111 lines in 3 files changed: 76 ins; 32 del; 3 mod Patch: https://git.openjdk.java.net/jdk/pull/93.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/93/head:pull/93 PR: https://git.openjdk.java.net/jdk/pull/93