Сборщик мусора (Garbage Collector) обнаруживает объекты без ссылок для последующего освобождения занимаемой ими памяти.
Он работает, отслеживая доступность объектов от "корней" (root objects), таких как:
- Локальные переменные текущего потока.
- Статические поля классов.
- Ссылки из JNI (Java Native Interface).
- Объекты, используемые сборщиком мусора для внутренних нужд.
Процесс выглядит примерно так:
- Marking (Пометка): Начинается с корней и рекурсивно помечаются все объекты, на которые есть ссылки. Это создает граф доступных объектов.
- Sweeping (Сборка): Происходит сканирование хипа. Все
Сборщик мусора (Garbage Collector) обнаруживает объекты без ссылок для последующего освобождения занимаемой ими памяти.
Он работает, отслеживая доступность объектов от "корней" (root objects), таких как:
- Локальные переменные текущего потока.
- Статические поля классов.
- Ссылки из JNI (Java Native Interface).
- Объекты, используемые сборщиком мусора для внутренних нужд.
Процесс выглядит примерно так:
- Marking (Пометка): Начинается с корней и рекурсивно помечаются все объекты, на которые есть ссылки. Это создает граф доступных объектов.
- Sweeping (Сборка): Происходит сканирование хипа. Все