Класс WeakReference<T>
- java.lang.Object
-
- java.lang.ref.Reference<T>
-
- java.lang.ref.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