C# Сборщик Мусора | Garbage Collector | Часть 3

YOUTUBE · 18.11.2025 18:42

Ключевые темы и таймкоды

Введение в сборщик мусора

0:02
  • Сборщик мусора GC - ключевой компонент платформы .NET.
  • Видео посвящено ключевым аспектам работы сборщика мусора.
  • В предыдущих частях обсуждалась работа памяти в .NET.

Пример работы сборщика мусора

1:01
  • Пример с сайтом и микросервисом.
  • Создание объектов в куче при обработке данных.
  • Необходимость удаления объектов для освобождения памяти.

Поколения объектов

2:00
  • Три поколения объектов: нулевое, первое и второе.
  • Нулевое и первое поколения называются эфемерными.
  • Полная остановка приложения для активации сборщика мусора.

Анализ поколений

2:53
  • Сборщик мусора проверяет, используются ли объекты.
  • Удаление неиспользуемых объектов и повышение номера поколения.
  • Минимизация простоя приложения за счет анализа части памяти.

Предположения сборщика мусора

4:16
  • Чем ниже поколение объекта, тем вероятнее его удаление.
  • Чем выше поколение, тем вероятнее объект останется в памяти.
  • Примеры использования объектов разных поколений.

Куча для больших объектов

5:17
  • Ларч джек хип для объектов размером более 85 КБ.
  • Большие объекты создаются сразу с поколением номер два.
  • Дефрагментация не проводится для больших объектов.

Графы объектов

7:11
  • Создание графов объектов для определения востребованности объектов.
  • Статические и локальные объекты как связи в графе.
  • Удаление недостижимых объектов.

Деструкторы и финализация

10:09
  • Деструктор выполняет действия перед удалением объекта.
  • Неуправляемые ресурсы и небезопасные конструкции.
  • Очередь финализации для объектов с деструкторами.

Заключение

11:45
  • Обзор работы сборщика мусора в .NET.
  • Взаимодействие стека, кучи и GC-коллектора.
  • Призыв подписаться на канал для новых роликов.