- java.lang.Object
-
- java.lang.ref.Reference<T>
-
- java.lang.ref.PhantomReference<T>
-
public class PhantomReference<T> extends Reference<T>
在收集者确定其指示物可能被回收之后排入队列的Phantom参考对象。 幽灵引用通常用于安排事后清除操作。假设垃圾收集器在某个时间点确定对象是phantom reachable 。 那时,它将原子地清除对该对象的所有幻影引用,以及对该对象可访问的任何其他可幻像对象的所有幻影引用。 在同一时间或稍后的时间,它将排入在引用队列中注册的新清除的幻像引用。
为了确保可回收对象保持
get
可能无法检索幻像引用的引用:幻像引用的get
方法始终返回null
。- 从以下版本开始:
- 1.2
-
-
构造方法摘要
构造方法 Constructor 描述 PhantomReference(T referent, ReferenceQueue<? super T> q)
创建引用给定对象并在给定队列中注册的新幻影引用。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 T
get()
返回此引用对象的指示。-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class java.lang.ref.Reference
clear, enqueue, isEnqueued, reachabilityFence
-
-
-
-
构造方法详细信息
-
PhantomReference
public PhantomReference(T referent, ReferenceQueue<? super T> q)
创建引用给定对象并在给定队列中注册的新幻影引用。可以使用
null
队列创建幻像参考,但是这样的引用是完全无用的:它的get
方法将始终返回null
并且由于它没有队列,它将永远不会排入队列。- 参数
-
referent
- 新幻影引用将引用的对象 -
q
- 要注册的队列,如果不需要注册,null
-
-