Класс ReferenceQueue<T>
java.lang.Object
java.lang.ref.ReferenceQueue<T>
- Параметры типа:
T— тип объекта ссылки
public class ReferenceQueue<T> extends Object
Очереди ссылок, в которые сборщик мусора добавляет зарегистрированные объекты ссылок после обнаружения соответствующих изменений достижимости.
Эффекты согласованности памяти: помещение ссылки в очередь (сборщиком мусора или в результате успешного вызова Reference.enqueue()) происходит до извлечения ссылки из очереди с помощью poll() или remove(long).
- С версии:
- 1.2
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ReferenceQueue() |
Создает новую очередь объектов ссылок. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Reference |
poll() |
Проверяет, доступен ли объект ссылки в этой очереди. |
Reference |
remove() |
Извлекает следующий объект ссылки из этой очереди, блокируя выполнение до тех пор, пока такой объект не станет доступен. |
Reference |
remove |
Извлекает следующий объект ссылки из этой очереди, блокируя выполнение до тех пор, пока такой объект не станет доступен или не истечет указанный интервал ожидания. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного интервала реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного интервала реального времени. |
Подробное описание конструкторов
ReferenceQueue
public ReferenceQueue()
Создает новую очередь объектов ссылок.
Подробное описание методов
poll
public Reference<? extends T> poll()
Проверяет, доступен ли объект ссылки в этой очереди. Если объект доступен без дополнительного ожидания, он извлекается из очереди и возвращается. В противном случае этот метод немедленно возвращает
null.- Возвращает:
- Объект ссылки, если он был немедленно доступен; в противном случае —
null - См. также:
remove
public Reference<? extends T> remove(long timeout) throws InterruptedException
Извлекает следующий объект ссылки из этой очереди, блокируя выполнение до тех пор, пока такой объект не станет доступен или не истечет указанный интервал ожидания.
Этот метод не гарантирует работу в реальном времени: тайм-аут планируется так, как если бы был вызван метод Object.wait(long).
- Параметры:
-
timeout— если значение положительное, ожидать добавления ссылки в эту очередь не болееtimeoutмиллисекунд. Если значение равно нулю, ожидать неограниченно долго. - Возвращает:
- Объект ссылки, если он стал доступен в течение указанного интервала ожидания; в противном случае —
null - Выбрасывает:
-
IllegalArgumentException— если значение аргумента тайм-аута отрицательно -
InterruptedException— если ожидание с тайм-аутом было прервано - См. также:
remove
public Reference<? extends T> remove() throws InterruptedException
Извлекает следующий объект ссылки из этой очереди, блокируя выполнение до тех пор, пока такой объект не станет доступен.
- Возвращает:
- Объект ссылки; ожидание продолжается до тех пор, пока он не станет доступен
- Выбрасывает:
-
InterruptedException— если ожидание было прервано - См. также:
© 1993, 2025, 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.