Встречается на собеседованиях • сегодня

Для чего нужна WeakHashMap

WeakHashMap в Java — это реализация Map, где ключи хранятся как слабые ссылки (WeakReference). Это означает, что если на ключ больше нет сильных ссылок, он может быть удалён сборщиком мусора (GC), а соответствующая запись автоматически удалится из WeakHashMap.

Основное применение:

  • Кеширование, где записи должны автоматически удаляться, когда объекты-ключи больше не используются в основном коде.
  • Хранение метаданных для объектов, время жизни которых контролируется внешним кодом.

Пример:

java
WeakHashMap<Object, String> cache = new WeakHashMap<>();
Object key = new Object();
cache.put(key, "Data");

key = null; // Теперь ключ может быть удалён GC
System.gc(); // Не гарантирует срабатывание, но демонстрирует идею

// После GC cache может быть пустым, если ключ был удалён
System.out.println(cache); // Может вывести: {}

Важно: Значения в WeakHashMap не являются слабыми ссылками — удаляются только записи с удалёнными ключами.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы