WeakReference — это слабая ссылка на объект, которая не препятствует его удалению сборщиком мусора.
Если на объект есть только weak references, GC может удалить его при нехватке памяти.
WeakReference<Data> weak = new WeakReference<>(data);
data = null;
// GC может удалить объект
Data retrieved = weak.get(); // может вернуть null
Используется в кешах (WeakHashMap), где элементы могут быть удалены при нехватке памяти, или для предотвращения memory leaks в listeners.
🐸 Библиотека собеса по Java
#jvm