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

Зачем сборщик мусора разделяют на 3 категории

В Python сборщик мусора (GC) использует три поколения (0, 1, 2) для оптимизации работы. Это основано на гипотезе, что большинство объектов становятся мусором быстро, а выжившие живут долго.

  • Поколение 0: Новые объекты. Частые проверки (по умолчанию каждые 700 созданий).
  • Поколение 1: Объекты, пережившие сборку в 0. Проверяются реже.
  • Поколение 2: Долгоживущие объекты. Проверяются ещё реже.

Пример:

python
import gc
print(gc.get_threshold())  # (700, 10, 10) - пороги для поколений

Плюсы:

  • Экономия ресурсов (меньше проверок долгоживущих объектов).
  • Быстрая очистка временных объектов.

Нюансы:

  • Циклические ссылки в поколении 2 могут дольше висеть в памяти.
  • Можно настраивать пороги через gc.set_threshold().
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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