Most visited

Recently visited

Added in API level 1

PhantomReference

public class PhantomReference
extends Reference<T>

java.lang.Object
   ↳ java.lang.ref.Reference<T>
     ↳ java.lang.ref.PhantomReference<T>


幻象参考对象,它们在收集器之后被排队,并确定它们的对象可能被回收。 幻影引用最常用于以比Java最终化机制更灵活的方式安排验尸前清理操作。

如果垃圾收集器在特定的时间点确定幻影参考的参考是 phantom reachable ,那么在那个时候或稍后时间,它将排队参考。

为了确保可回收对象保持如此状态,可能不会检索到幻像参考的参考物:幻像参考的 get方法始终返回 null

与软引用和弱引用不同,当垃圾收集器入队时,幻影引用不会自动清除。 通过幻影引用可访问的对象将保持如此状态,直到清除所有这些引用或者自己无法访问。

Summary

Public constructors

PhantomReference(T referent, ReferenceQueue<? super T> q)

创建一个引用给定对象的新幻影引用,并在给定队列中注册。

Public methods

T get()

返回此引用对象的参照物。

Inherited methods

From class java.lang.ref.Reference
From class java.lang.Object

Public constructors

PhantomReference

Added in API level 1
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

Public methods

get

Added in API level 1
T get ()

返回此引用对象的参照物。 由于幻影参考的引用始终无法访问,因此此方法始终返回null

Returns
T null

Hooray!