Типы ссылок
- Strong — обычная ссылка, объект не собирается
- Soft — объект удаляется при нехватке памяти, подходит для кэшей
- Weak — объект удаляется на следующей сборке мусора
- Phantom — используется для отслеживания момента освобождения
Применение
SoftReference используют для кэшей, WeakReference — для метаданных и WeakHashMap, PhantomReference — для управляемой очистки внешних ресурсов вместо finalize().