On Thu, 3 Dec 2020 22:54:54 GMT, Mandy Chung <mch...@openjdk.org> wrote:
> This patch replaces some uses of `Reference::get` to `Reference::refersTo` to > avoid keeping a referent strongly reachable that could cause unnecessary > delay in collecting such object. I only made change in some but not all > classes in core libraries when working with Kim on `Reference::refersTo`. > The remaining uses are left for the component owners to convert at > appropriate time. src/java.management/share/classes/com/sun/jmx/mbeanserver/WeakIdentityHashMap.java line 127: > 125: T got = get(); > 126: return got != null && wr.refersTo(got); > 127: } Here you could pre-screen the get() with: if (this.refersTo(null) != wr.refersTo(null)) return false; In case one of the two WeakReference(s) is cleared and the other is not, they are not equal and you don't call this.get() in such case. ------------- PR: https://git.openjdk.java.net/jdk/pull/1609