< prev index next >

src/java.base/share/classes/java/lang/ref/ReferenceQueue.java

Print this page
8203327: Small cleanups in java.lang.ref
Reviewed-by: mr

*** 41,61 **** /** * Constructs a new reference-object queue. */ public ReferenceQueue() { } ! private static class Null<S> extends ReferenceQueue<S> { ! boolean enqueue(Reference<? extends S> r) { return false; } } ! static ReferenceQueue<Object> NULL = new Null<>(); ! static ReferenceQueue<Object> ENQUEUED = new Null<>(); private static class Lock { }; ! private Lock lock = new Lock(); private volatile Reference<? extends T> head; private long queueLength = 0; boolean enqueue(Reference<? extends T> r) { /* Called only by Reference class */ synchronized (lock) { --- 41,61 ---- /** * Constructs a new reference-object queue. */ public ReferenceQueue() { } ! private static class Null extends ReferenceQueue<Object> { ! boolean enqueue(Reference<?> r) { return false; } } ! static final ReferenceQueue<Object> NULL = new Null(); ! static final ReferenceQueue<Object> ENQUEUED = new Null(); private static class Lock { }; ! private final Lock lock = new Lock(); private volatile Reference<? extends T> head; private long queueLength = 0; boolean enqueue(Reference<? extends T> r) { /* Called only by Reference class */ synchronized (lock) {
< prev index next >