- 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
- 如果等待中断
-
-