RFR: 8376477: Avoid loading empty Lock classes in Shutdown and ReferenceQueue

Eirik Bjørsnøs eirbjo at openjdk.org
Tue Jan 27 10:13:57 UTC 2026


Please review this PR which removes empty nested `Lock` classes in `java.lang.Shutdown` and `java.lang.ref.ReferenceQueue`. 

These are replaced with the more common "new Object()" idiom, which saves us loading these two nested classes.

Additionally, this PR marks the lock objects in `Shutdown` as `final`

This was initially discussed in https://mail.openjdk.org/pipermail/core-libs-dev/2026-January/157704.html.

Except the observability of the lock name class, this should be a strict refactoring. No tests updated, `noreg-cleanup`.

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

Commit messages:
 - Avoid loading custom empty Lock classes

Changes: https://git.openjdk.org/jdk/pull/29442/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29442&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8376477
  Stats: 7 lines in 2 files changed: 0 ins; 2 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/29442.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29442/head:pull/29442

PR: https://git.openjdk.org/jdk/pull/29442


More information about the core-libs-dev mailing list