Класс ReferenceQueue<T>
- 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(long timeout) | Удаляет следующий объект ссылки в этой очереди, блокируя до тех пор, пока один не станет доступным или не истечёт заданный период ожидания. |
Методы, объявленные в классе 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- Если ожидание прервано
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/ref/ReferenceQueue.html