Что такое сборщик мусора (Garbage Collector)

Python Senior Без компании
Что такое сборщик мусора (Garbage Collector)
Ответы
#### **Как происходит управление памятью в python?** В Python управление памятью осуществляется автоматическим образом при помощи сборки мусора и подсчета ссылок. **Подсчет ссылок:** Каждый объект в Python содержит счетчик ссылок, который отслеживает количество ссылок на данный объект. Когда счетчик ссылок объекта опускается до нуля, объект автоматически уничтожается, а память освобождается. **Сборка мусора:** Помимо подсчета ссылок, Python использует алгоритм сборки мусора на основе сборки циклических зависимостей. Это необходимо, так как подсчет ссылок не может обработать циклические ссылочные структуры. Специализированный сборщик циклов периодически проверяет объекты для выявления циклических зависимостей и освобождает память, занимаемую этими объектами. **Поколения:** У сборщика мусора Python есть 3 поколения, по которым классифицируются объекты. Новый объект попадает в поколение 1. Если объект переживает сборку мусора, он помещает в следующее поколение. Чем выше поколение, тем реже объект сканируется на сборку мусора - это оптимизация из расчета, что новые объекты чаще освобождаются, чем старые.