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

Что такое поколение в сборке мусора

В .NET сборщик мусора (GC) использует поколения для оптимизации работы с управляемой кучей. Существует 3 поколения:

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

Пример:

csharp
var obj1 = new MyClass(); // Gen 0
GC.Collect(); // obj1 выживает -> Gen 1
var obj2 = new MyClass(); // Gen 0
GC.Collect(); // obj1 -> Gen 2, obj2 -> Gen 1

Чем выше поколение, тем реже GC его проверяет. Это улучшает производительность, так как большинство объектов временные (Gen 0). LOH (Large Object Heap) размещается в Gen 2.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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