Что такое GarbageCollector
Python
Senior
Без компании
Что такое GarbageCollector
Ответы
Garbage Collector (GC) — это механизм автоматического управления памятью в Python, который освобождает память от неиспользуемых объектов. Он отслеживает объекты, на которые больше нет ссылок, и удаляет их, предотвращая утечки памяти.
**Как работает:**
Python использует подсчёт ссылок (reference counting) + алгоритм generational GC для обнаружения циклических ссылок. Объекты делятся на 3 поколения (0, 1, 2). Новые объекты попадают в поколение 0. Если объект переживает сборку мусора, он перемещается в следующее поколение.
**Пример циклической ссылки:**
```
x = []
x.append(x) # Создаёт циклическую ссылку (x ссылается на себя)
del x # Объект больше недоступен, но ссылка остаётся
```
GC обнаружит и удалит такой объект.
**Ручное управление:**
```
import gc
gc.disable() # Отключить GC (не рекомендуется)
gc.collect() # Принудительный запуск сборщика
```