Вопросы к Поиску с Алисой

Примеры ответов Поиска с Алисой
Главная / Технологии / Как устроена работа сборщика мусора в .NET?
Вопрос для Поиска с Алисой
24 марта

Как устроена работа сборщика мусора в .NET?

Алиса
На основе источников, возможны неточности

Работа сборщика мусора в .NET основана на предположении, что объекты, достижимые из определённых корней, нужно сохранить в куче, так как они могут использоваться в программе. intuit.ru Все остальные объекты можно удалить. intuit.ru

Процесс сборки мусора состоит из нескольких этапов: learn.microsoft.com

  1. Этап маркировки. learn.microsoft.com Сборщик ищет все используемые объекты и составляет их перечень. learn.microsoft.com
  2. Этап перемещения. learn.microsoft.com Обновляются ссылки на сжимаемые объекты. learn.microsoft.com
  3. Этап сжатия. learn.microsoft.com Освобождается пространство, занятое неиспользуемыми объектами, и сжимаются выжившие объекты. learn.microsoft.com

Для эффективной работы с объектами различной «старости» сборщик мусора использует концепцию поколений (поколения 0, 1 и 2): pikabu.ru

  • При создании объекты помещаются в поколение 0. pikabu.ru Если объект слишком большой (по умолчанию объекты размером больше 85 000 байт), то он будет помещён в Large Object Heap (очищается вместе с поколением 2). pikabu.ru
  • Когда поколение 0 заполнено — запускается сборка мусора. pikabu.ru Неиспользуемые объекты удаляются, оставшиеся перемещаются в поколение 1. pikabu.ru
  • Аналогично происходит сборка мусора, когда заполнено поколение 1. pikabu.ru Все выжившие объекты перемещаются в поколение 2. pikabu.ru Затем происходит сборка мусора в поколении 0. pikabu.ru
  • Когда заполнено поколение 2, происходит полная сборка мусора. pikabu.ru Сперва очищается поколение 2, а затем 1 и 0. pikabu.ru Если после этого недостаточно места для новых объектов — происходит исключение OutOfMemory. pikabu.ru
  • В самом конце происходит фаза сжатия, в которой сборщик мусора перемещает живые объекты так, чтобы они располагались в памяти непосредственно друг за другом. pikabu.ru

Сборщик мусора в .NET имеет два основных режима работы: режим рабочей станции и режим сервера, а также два подрежима: параллельный и непараллельный. habr.com

Пользователь

Время добавления
Текст комментария
Ответить
Показать X ответов

Пользователь

Время добавления
Текст ответа
Ответить

Комментарии

Войти
Войдите, чтобы комментировать

Ещё по теме

Сколько времени могут работать светодиодные лампы?
Как спутниковое телевидение повлияло на развитие телевизионной индустрии?
Как персонализация рабочего стола влияет на продуктивность работы?
Какие особенности работы сборщиком в Пятёрочке?
Чем отличается работа сборщика онлайн-заказов в обычном супермаркете от даркстора?
Примеры полезных ответов Поиска с Алисой на вопросы из разных сфер. Вопросы сгенерированы нейросетью YandexGPT для актуальных тем, которые определяются на базе обобщённых запросов к Поиску с Алисой.
Задать новый вопрос
Задайте вопрос...
…и сразу получите ответ в Поиске с Алисой
Войдите, чтобы поставить лайк
С Яндекс ID это займёт пару секунд
Войти
Вы уверены, что хотите удалить комментарий?
Удалить
Отменить