public class PhantomReference
extends Reference<T>
| java.lang.Object | ||
| java.lang.ref.Reference<T> | ||
| java.lang.ref.PhantomReference<T> | ||
幻象参考对象,它们在收集器之后被排队,并确定它们的对象可能被回收。 幻影引用最常用于以比Java最终化机制更灵活的方式安排验尸前清理操作。
如果垃圾收集器在特定的时间点确定幻影参考的参考是 phantom reachable ,那么在那个时候或稍后时间,它将排队参考。
为了确保可回收对象保持如此状态,可能不会检索到幻像参考的参考物:幻像参考的 get方法始终返回 null 。
与软引用和弱引用不同,当垃圾收集器入队时,幻影引用不会自动清除。 通过幻影引用可访问的对象将保持如此状态,直到清除所有这些引用或者自己无法访问。
Public constructors |
|
|---|---|
PhantomReference(T referent, ReferenceQueue<? super T> q) 创建一个引用给定对象的新幻影引用,并在给定队列中注册。 |
|
公共方法(Public methods) |
|
|---|---|
T |
get() 返回此引用对象的参照物。 |
继承方法(Inherited methods) |
|
|---|---|
java.lang.ref.Reference
|
|
java.lang.Object
|
|
PhantomReference (T referent,
ReferenceQueue<? super T> q)
创建一个引用给定对象的新幻影引用,并在给定队列中注册。
可以使用 null队列创建幻像引用,但是这样的引用完全没有用处:它的 get方法将始终返回null,并且由于它没有队列,因此永远不会入队。
| 参数(Parameters) | |
|---|---|
referent |
T: the object the new phantom reference will refer to |
q |
ReferenceQueue: the queue with which the reference is to be registered, or null if registration is not required |