Класс WeakReference<T>

public class WeakReference<T>
extends Reference<T>

Объекты слабых ссылок, которые не препятствуют своим объектам-ссылкам становиться окончательно завершаемыми, завершать работу и затем освобождаться. Слабые ссылки чаще всего используются для реализации отображений канонизации.

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

Since:
1.2

Конструкторы

КонструкторОписание
WeakReference​(T referent)

Создает новую слабую ссылку, которая ссылается на данный объект.

WeakReference​(T referent, ReferenceQueue<? super T> q)

Создает новую слабую ссылку, которая ссылается на данный объект и зарегистрирована в заданной очереди.

Методы

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

clear, clone, enqueue, get, isEnqueued, reachabilityFence

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

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

Конструкторы

WeakReference

public WeakReference(T referent)

Создает новую слабую ссылку, которая ссылается на данный объект. Новая ссылка не зарегистрирована ни в какой очереди.

Parameters:
referent - объект, на который будет ссылаться новая слабая ссылка

WeakReference

public WeakReference(T referent,
                     ReferenceQueue<? super T> q)

Создает новую слабую ссылку, которая ссылается на данный объект и зарегистрирована в заданной очереди.

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

© 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/WeakReference.html

Spec-Zone .ru
спецификации, руководства, описания, API