Встречается на 2% собеседований по Java

Что такое WeakHashMap

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

Пример:

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

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

Используется:

  • Для кэшей, где записи могут быть удалены при нехватке памяти
  • Временного хранения данных, привязанных к жизненному циклу ключа

Важно: Значения не являются слабыми ссылками, только ключи. Для слабых значений нужны другие решения (например, Guava Cache).

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

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

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

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