Типы ссылок и их влияние на сборку мусора
Сборщик мусора по-разному обрабатывает объекты в зависимости от того, какой тип ссылок на них указывает:
1. Сильные ссылки (Strong References): Это обычные ссылки, используемые по умолчанию (например, в HashMap). Пока на объект есть сильная ссылка, сборщик мусора не удалит его, даже если он больше не нужен логике программы, что может привести к утечкам памяти.
2. Слабые ссылки (WeakReference): Если на объект ссылаются только "слабые" ссылки, сборщик мусора может удалить его в любой момент.
◦ Этот механизм реализован в классе WeakHashMap. Если на ключ такой карты нет сильных ссылок из других частей программы, сборщик мусора удалит этот ключ, и соответствующая запись исчезнет из карты. Это полезно для реализации кэшей, где допустимо исчезновение данных при нехватке памяти.
3. Мягкие ссылки (SoftReference): В отличие от слабых ссылок, объекты, на которые указывают только мягкие ссылки, удаляются сборщиком мусора не сразу, а только при возникновении острой нехватки памяти (severe memory pressure).

