返回介绍

java.lang.ref 类 ReferenceQueue<T>

发布于 2019-10-04 09:51:15 字数 3004 浏览 984 评论 0 收藏 0

java.lang.Object
  └java.lang.ref.ReferenceQueue<T>

public class ReferenceQueue<T>
extends Object
 

引用队列,在检测到适当的可到达性更改后,垃圾回收器将已注册的引用对象追加到该队列中。

从以下版本开始:
1.2

构造方法摘要
ReferenceQueue()

构造一个新的引用对象队列。

方法摘要
Reference<? extends T>poll()

轮询此队列,查看是否存在可用的引用对象。

Reference<? extends T>remove()

移除此队列中的下一个引用对象,阻塞到某个对象变得可用为止。

Reference<? extends T>remove(longtimeout)

移除此队列中的下一个引用对象,阻塞到有一个对象变得可用或者给定的超时期满了为止。

从类 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(longtimeout)
                              throws IllegalArgumentException,
                                     InterruptedException
移除此队列中的下一个引用对象,阻塞到有一个对象变得可用或者给定的超时期满了为止。

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

参数:
timeout - 如果为正,则在等待要在此队列中添加的引用时会阻塞 timeout 毫秒。如果超时值为零,则无限期地阻塞。
返回:
如果在指定的超时期内有一个引用对象可用,则返回该对象;否则返回 null
抛出:
IllegalArgumentException - 如果超时参数的值为负。
InterruptedException - 如果超时等待被中断

remove

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文