所有类
java.lang.ref
类 ReferenceQueue<T>
java.lang.Object
java.lang.ref.ReferenceQueue<T>
-
public class ReferenceQueue<T>
- extends Object
引用队列,在检测到适当的可到达性更改后,垃圾回收器将已注册的引用对象追加到该队列中。
-
从以下版本开始:
-
1.2
从类 java.lang.Object 继承的方法 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ReferenceQueue
public ReferenceQueue()
-
构造一个新的引用对象队列。
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
- 如果超时参数的值为负。
-
InterruptedException
- 如果超时等待被中断
remove
public Reference<? extends T> remove()
throws InterruptedException
-
移除此队列中的下一个引用对象,阻塞到某个对象变得可用为止。
-
-
返回:
-
某个引用对象,阻塞到某个对象变得可用为止。
-
抛出:
-
InterruptedException
- 如果等待被中断
所有类