JVM middle
Что такое WeakReference / SoftReference / PhantomReference?
Ответ
Weak — GC собирает при первой же сборке. Soft — GC собирает при нехватке памяти (для кэшей). Phantom — для постфинализационной очистки ресурсов. WeakHashMap — ключи через WeakReference.
Разбор: Weak собирается при ближайшей сборке, Soft — при нехватке памяти (кэши), Phantom — для постфинализационной очистки ресурсов, причём get() у PhantomReference всегда возвращает null. Дистракторы путают Weak с Soft, приписывают Phantom воскрешение объекта или ненулевой get(), а WeakHashMap делает слабыми именно ключи, а не значения.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.