Типы ссылок и их влияние на сборку мусора


Типы ссылок и их влияние на сборку мусора

Сборщик мусора по-разному обрабатывает объекты в зависимости от того, какой тип ссылок на них указывает:

1. Сильные ссылки (Strong References): Это обычные ссылки, используемые по умолчанию (например, в HashMap). Пока на объект есть сильная ссылка, сборщик мусора не удалит его, даже если он больше не нужен логике программы, что может привести к утечкам памяти.

2. Слабые ссылки (WeakReference): Если на объект ссылаются только "слабые" ссылки, сборщик мусора может удалить его в любой момент.

    ◦ Этот механизм реализован в классе WeakHashMap. Если на ключ такой карты нет сильных ссылок из других частей программы, сборщик мусора удалит этот ключ, и соответствующая запись исчезнет из карты. Это полезно для реализации кэшей, где допустимо исчезновение данных при нехватке памяти.

3. Мягкие ссылки (SoftReference): В отличие от слабых ссылок, объекты, на которые указывают только мягкие ссылки, удаляются сборщиком мусора не сразу, а только при возникновении острой нехватки памяти (severe memory pressure).

Автор: к.п.н., Румянцев Сергей Александрович, доцент Финансового университета при Правительстве РФ; доцент ОЧУВО Международного инновационного университета; Консалтинг, управление разработкой ПО; системный и бизнес анализ; менеджмент; аналитиз данных; управление ИТ. Телефон для связи +79269444818 (мессенджеры)   Короткая ссылка:


Типы ссылок и их влияние на сборку мусора

Сборщик мусора по-разному обрабатывает объекты в зависимости от того, какой тип ссылок на них указывает:

1. Сильные ссылки (Strong References): Это обычные ссылки, используемые по умолчанию (например, в HashMap). Пока на объект есть сильная ссылка, сборщик мусора не удалит его, даже если он больше не нужен логике программы, что может привести к утечкам памяти.

2. Слабые ссылки (WeakReference): Если на объект ссылаются только "слабые" ссылки, сборщик мусора может удалить его в любой момент.

    ◦ Этот механизм реализован в классе WeakHashMap. Если на ключ такой карты нет сильных ссылок из других частей программы, сборщик мусора удалит этот ключ, и соответствующая запись исчезнет из карты. Это полезно для реализации кэшей, где допустимо исчезновение данных при нехватке памяти.

3. Мягкие ссылки (SoftReference): В отличие от слабых ссылок, объекты, на которые указывают только мягкие ссылки, удаляются сборщиком мусора не сразу, а только при возникновении острой нехватки памяти (severe memory pressure).

https://webprogr.ru/~t57PH
Короткая ссылка на новость:https://webprogr.ru/~t57PH


Последние новости

Типы ссылок и их влияние на сборку мусора


Типы ссылок и их влияние на сборку мусора

Сборщик мусора по-разному обрабатывает объекты в зависимости от того, какой тип ссылок на них указывает:

1. Сильные ссылки (Strong References): Это обычные ссылки, используемые по умолчанию (например, в HashMap). Пока на объект есть сильная ссылка, сборщик мусора не удалит его, даже если он больше не нужен логике программы, что может привести к утечкам памяти.

2. Слабые ссылки (WeakReference): Если на объект ссылаются только "слабые" ссылки, сборщик мусора может удалить его в любой момент.

    ◦ Этот механизм реализован в классе WeakHashMap. Если на ключ такой карты нет сильных ссылок из других частей программы, сборщик мусора удалит этот ключ, и соответствующая запись исчезнет из карты. Это полезно для реализации кэшей, где допустимо исчезновение данных при нехватке памяти.

3. Мягкие ссылки (SoftReference): В отличие от слабых ссылок, объекты, на которые указывают только мягкие ссылки, удаляются сборщиком мусора не сразу, а только при возникновении острой нехватки памяти (severe memory pressure).

Рейтинг@Mail.ru