Module java.base
Package java.lang.ref

Class WeakReference<T>

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

public non-sealed class WeakReference<T> extends Reference<T>
弱引用对象,不会阻止其引用对象被设为finalizable,finalized,然后被回收。弱引用通常用于实现规范化映射。

假设垃圾收集器在某个时间点确定一个对象是弱可达的。此时,它将原子性地清除对该对象的所有弱引用,以及通过一系列强引用和软引用从该对象可达的任何其他弱可达对象的所有弱引用。同时,它将声明所有以前弱可达的对象为finalizable。同时或稍后,它将对那些新清除的已注册到引用队列的弱引用进行排队。

自 JDK 版本:
1.2
  • Constructor Details

    • WeakReference

      public WeakReference(T referent)
      创建一个引用给定对象的新弱引用。新引用未注册到任何队列。
      参数:
      referent - 新弱引用将引用的对象
    • WeakReference

      public WeakReference(T referent, ReferenceQueue<? super T> q)
      创建一个引用给定对象的新弱引用,并将其注册到给定队列。
      参数:
      referent - 新弱引用将引用的对象
      q - 引用应注册的队列,如果不需要注册,则为null