Класс PhantomReference<T>
public class PhantomReference<T> extends Reference<T>
Предположим, что сборщик мусора в определенный момент времени определяет, что объект является ссылкой-фантомом. В этот момент он атомарно очищает все ссылки-фантомы на этот объект и все ссылки-фантомы на любые другие объекты, доступные через фантомные ссылки, из которых этот объект достижим. Одновременно или впоследствии он добавляет эти недавно очищенные ссылки-фантомы, зарегистрированные в очередях ссылок, в очередь.
Для того, чтобы гарантировать, что удаляемый объект остается таким, ссылка-фантом не может быть использована для получения объекта-референта: Метод get ссылки-фантома всегда возвращает null. Метод refersTo может использоваться для проверки, является ли какой-либо объект референтом ссылки-фантома.
- С тех пор:
- 1.2
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PhantomReference |
Создаёт новую ссылку-фантом, которая ссылается на данный объект и зарегистрирована в данной очереди. |
Краткое описание методов
Методы, объявленные в классе java.lang.ref.Reference
clear, clone, enqueue, isEnqueued, reachabilityFence, refersTo
Подробное описание конструкторов
PhantomReference
public PhantomReference(T referent, ReferenceQueue<? super T> q)
Можно создать ссылку-фантом с null очередью. Такая ссылка никогда не будет добавлена в очередь.
- Параметры:
-
referent- объект, на который будет ссылаться новая ссылка-фантом -
q- очередь, в которую должна быть зарегистрирована ссылка, илиnullесли регистрация не требуется
Подробное описание методов
get
public T get()
null.- Переопределяет:
-
getв классеReference<T> - Возвращает:
null- См. также:
© 1993, 2021, 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/17/docs/api/java.base/java/lang/ref/PhantomReference.html