模块 java.base

类 PhantomReference<T>

java.lang.Object
java.lang.ref.Reference <T>
java.lang.ref.PhantomReference<T>
类型参数:
T - 对象的类型

public non-sealed class PhantomReference<T> extends Reference <T>
幻象引用对象,在收集器确定它们的引用对象可以以其他方式回收后排队。幻影引用最常用于安排事后清理操作。

假设垃圾收集器在某个时间点确定一个对象是 虚可达 。届时,它将自动清除对该对象的所有幻象引用以及对该对象可访问的任何其他幻影可访问对象的所有幻象引用。同时或在稍后的某个时间,它会将那些在引用队列中注册的新清除的幻象引用排入队列。

为了确保可回收对象保持不变,可能无法检索幻象引用的指称对象:幻象引用的 get 方法始终返回 nullrefersTo 方法可用于测试某个对象是否是幻象引用的引用对象。

自从:
1.2
  • 构造方法详细信息

    • PhantomReference

      public PhantomReference(T  referent, ReferenceQueue <? super T > q)
      创建一个引用给定对象并注册到给定队列的新幻像引用。

      可以使用 null 队列创建幻像引用。这样的引用永远不会被排队。

      参数:
      referent - 新幻像引用将引用的对象
      q - 要注册引用的队列,如果不需要注册则为 null
  • 方法详情

    • get

      public T  get()
      返回此引用对象的引用对象。因为幻象引用的引用对象总是不可访问的,所以这个方法总是返回 null
      重写:
      get 在类 Reference<T>
      返回:
      null
      参见: