模块 java.base

类 ReferenceQueue<T>

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

public class ReferenceQueue<T> extends Object
引用队列,在检测到适当的可达性更改后,垃圾收集器将已注册的引用对象追加到该队列中。
自从:
1.2
  • 构造方法详细信息

    • ReferenceQueue

      public ReferenceQueue()
      构造一个新的引用对象队列。
  • 方法详情

    • poll

      public Reference <? extends T > poll()
      轮询此队列以查看引用对象是否可用。如果一个可用且没有进一步延迟,则将其从队列中移除并返回。否则此方法立即返回 null
      返回:
      一个参考对象,如果一个立即可用,否则 null
    • remove

      public Reference <? extends T > remove(long timeout) throws InterruptedException
      移除此队列中的下一个引用对象,阻塞直到一个可用或给定的超时期限到期。

      此方法不提供实时保证:它像调用 Object.wait(long) 方法一样安排超时。

      参数:
      timeout - 如果为正,则在等待将引用添加到此队列时最多阻塞 timeout 毫秒。如果为零,则无限期阻止。
      返回:
      一个引用对象,如果在指定的超时期限内可用,否则为null
      抛出:
      IllegalArgumentException - 如果超时参数的值为负
      InterruptedException - 如果超时等待被打断
    • remove

      public Reference <? extends T > remove() throws InterruptedException
      移除此队列中的下一个引用对象,阻塞直到一个可用。
      返回:
      一个引用对象,阻塞直到一个可用
      抛出:
      InterruptedException - 如果等待被中断