public boolean isEnqueued() { return reference.isEnqueued(); }
SoftReference<Object> sr = new SoftReference<Object>(new Object(),new ReferenceQueue<Object>()); public boolean underPressure(){ if (sr.isEnqueued()) { // recreate object to monitor sr = new SoftReference<Object>(new Object(),new ReferenceQueue<Object>()); return true; } return false; }
protected JRVirtualizable getMapValue(Object val) { JRVirtualizable o; if (val == null) { o = null; } else { Reference ref = (Reference) val; if (ref.isEnqueued()) { o = null; } else { o = (JRVirtualizable) ref.get(); } } return o; }
/** Clean the references that was released. */ public final void expurge() { Reference<? extends E> obj; final Iterator<R> iter = this.theSet.iterator(); R reference; while (iter.hasNext()) { reference = iter.next(); if (reference != null && ((reference.isEnqueued()) || (reference.get() == null))) { reference.enqueue(); reference.clear(); } } while ((obj = this.queue.poll()) != null) { obj.clear(); if (this.referenceType.isInstance(obj)) { this.theSet.remove(this.referenceType.cast(obj)); } } }
assertThat(isEnqueued()).as("Object: " + leakedObjectDescription + " was leaked").isTrue();
for (int i = 0; i < this.size; ++i) { ref = (Reference<T>) this.data[i]; if ((ref == null) || (ref.isEnqueued()) || (ref.get() == null)) { if (ref != null) { ref.clear();