Встречается на собеседованиях • сегодня
Что такое garbage collector в Python
Garbage collector (GC) в Python — это механизм автоматического управления памятью, который освобождает память от неиспользуемых объектов. Он отслеживает объекты, на которые больше нет ссылок, и удаляет их.
Основные особенности:
- Сборщик мусора в Python использует подсчёт ссылок (reference counting) как основной механизм. Каждый объект имеет счётчик ссылок, который увеличивается при создании новой ссылки и уменьшается при её удалении. Когда счётчик достигает нуля, память освобождается.
- Циклические ссылки не могут быть обработаны подсчётом ссылок, поэтому Python также использует алгоритм mark-and-sweep для их обнаружения и удаления.
Пример циклической ссылки:
python
class Node:
def __init__(self):
self.ref = None
a = Node()
b = Node()
a.ref = b
b.ref = a # Циклическая ссылка
del a, b # Объекты больше не доступны, но ссылки остаютсяДля управления GC можно использовать модуль gc:
python
import gc
gc.disable() # Отключить GC
gc.enable() # Включить GC
gc.collect() # Принудительный сбор мусора
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы