RFR: 8256167: Convert JDK use of `Reference::get` to `Reference::refersTo`
Peter Levart
plevart at openjdk.java.net
Fri Dec 4 19:50:15 UTC 2020
On Thu, 3 Dec 2020 22:54:54 GMT, Mandy Chung <mchung at 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
More information about the core-libs-dev
mailing list