Spec-Zone.ru › OpenJDK 24

Класс PhantomReference<T>

java.lang.Object
java.lang.ref.Reference<T>
java.lang.ref.PhantomReference<T>
Тип параметров:
T - тип объекта-ссылочного объекта
public non-sealed class PhantomReference<T> extends Reference<T>
Объекты ссылок типа Phantom, которые добавляются в очередь после того, как сборщик мусора определит, что их объекты-ссылочные объекты могут быть удалены. Объекты Phantom обычно используются для планирования действий по очистке после смерти объекта.

Предположим, что сборщик мусора в определённый момент времени определяет, что объект является phantom-достижимым. В этот момент он атомарно очистит все ссылки типа Phantom на этот объект и все ссылки типа Phantom на любые другие phantom-достижимые объекты, из которых этот объект достижим. Одновременно или в некоторое более позднее время он поместит эти новые очищенные ссылки типа Phantom, зарегистрированные в очередях ссылок, в очередь.

Для обеспечения того, чтобы удаляемый объект оставался таковым, объект-ссылочный объект ссылки типа Phantom не может быть получен: Метод get ссылки типа Phantom всегда возвращает null. Метод refersTo может использоваться для проверки, является ли некоторый объект объектом-ссылочным объектом ссылки типа Phantom.

С тех пор:
1.2

Краткое описание конструкторов

Конструктор Описание
PhantomReference(T referent, ReferenceQueue<? super T> q)
Создаёт новую ссылку типа Phantom, которая ссылается на данный объект и зарегистрирована в данной очереди.

Краткое описание методов

Модификатор и тип Метод Описание
T get()
Возвращает объект-ссылочный объект этой ссылки.

Методы, объявленные в классе java.lang.ref.Reference

clear, clone, enqueue, isEnqueued, reachabilityFence, refersTo

Методы, объявленные в классе java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

PhantomReference

public PhantomReference(T referent, ReferenceQueue<? super T> q)
Создаёт новую ссылку типа Phantom, которая ссылается на данный объект и зарегистрирована в данной очереди.

Возможно создание ссылки типа Phantom с null очередью. Такая ссылка никогда не будет добавлена в очередь.

Параметры:
referent - объект, на который будет ссылаться новая ссылка типа Phantom
q - очередь, с которой будет зарегистрирована ссылка, или null, если регистрация не требуется

Подробное описание методов

get

public T get()
Возвращает объект-ссылочный объект этой ссылки. Поскольку объект-ссылочный объект ссылки типа Phantom всегда недоступен, этот метод всегда возвращает null.
Переопределяет:
get в классе Reference<T>
Возвращает:
null
См. также:
  • Reference.refersTo(T)

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/ref/PhantomReference.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API