Сборщик мусора (Garbage Collector, GC) — это механизм автоматического управления памятью, который выделяет и освобождает память, больше не используемую программой.
Принцип работы:
- Выделение памяти: Когда программа создает объекты, сборщик мусора выделяет для них место в куче (heap).
- Определение досягаемости: Сборщик мусора определяет, какие объекты доступны из "корней" (root) программы. Корнями могут быть локальные переменные в текущих выполняемых функциях, статические переменные, ссылки из потоков и т.д.
- Сборка мусора: Объекты, которые недостижимы из корней, считаются "мусором" и их память может быть освобождена.
Существуют различные алгоритмы сборки мусора, например:
- Mark-and-Sweep (Пометка и очистка): Сборщик
Сборщик мусора (Garbage Collector, GC) — это механизм автоматического управления памятью, который выделяет и освобождает память, больше не используемую программой.
Принцип работы:
- Выделение памяти: Когда программа создает объекты, сборщик мусора выделяет для них место в куче (heap).
- Определение досягаемости: Сборщик мусора определяет, какие объекты доступны из "корней" (root) программы. Корнями могут быть локальные переменные в текущих выполняемых функциях, статические переменные, ссылки из потоков и т.д.
- Сборка мусора: Объекты, которые недостижимы из корней, считаются "мусором" и их память может быть освобождена.
Существуют различные алгоритмы сборки мусора, например:
- Mark-and-Sweep (Пометка и очистка): Сборщик