- java.lang.Object
-
- java.lang.ref.ReferenceQueue<T>
-
public class ReferenceQueue<T> extends Object
参考队列,在检测到适当的可达性更改后,垃圾收集器将附加的注册引用对象附加到该引用队列。- 从以下版本开始:
- 1.2
-
-
方法详细信息
-
poll
public Reference<? extends T> poll()
轮询此队列以查看引用对象是否可用。 如果一个可用而没有进一步延迟,则将其从队列中删除并返回。 否则此方法立即返回null
。- 结果
-
参考对象,如果有一个可立即使用,否则为
null
-
remove
public Reference<? extends T> remove(long timeout) throws IllegalArgumentException, InterruptedException
删除此队列中的下一个引用对象,阻塞,直到其中任何一个可用或给定的超时时间到期。此方法不提供实时保证:它通过调用
Object.wait(long)
方法来调度超时。- 参数
-
timeout
- 如果为正,则在等待将引用添加到此队列时阻止最多timeout
毫秒。 如果为零,则无限期阻止。 - 结果
-
引用对象(如果在指定的超时期限内可用),否则为
null
- 异常
-
IllegalArgumentException
- 如果timeout参数的值为负 -
InterruptedException
- 如果超时等待中断
-
remove
public Reference<? extends T> remove() throws InterruptedException
删除此队列中的下一个引用对象,阻塞直到一个可用。- 结果
- 一个引用对象,阻塞直到一个可用
- 异常
-
InterruptedException
- 如果等待中断
-
-