Встречается на собеседованиях • сегодня

Какие знаешь поколения сборщика мусора

В .NET используется generational garbage collection, который делит объекты на 3 поколения:

  1. Generation 0 - новые объекты. Сборка происходит чаще всего, так как большинство объектов становятся мусором быстро.
  2. Generation 1 - объекты, пережившие сборку Generation 0. Сборка происходит реже.
  3. Generation 2 - долгоживущие объекты (например, статические поля). Сборка происходит реже всего.

Также есть Large Object Heap (LOH) для больших объектов (>85KB), которые попадают сразу в Generation 2.

Пример:

csharp
var shortLived = new object(); // Generation 0
GC.Collect(0); // Сборка только Generation 0
// shortLived может быть уничтожен, если на него нет ссылок

var longLived = new object();
GC.Collect(2); // Полная сборка всех поколений
// longLived переживет сборку, если на него есть ссылки
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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