Как мы знаем, сборщик мусора - это Thread в Java. И каждый поток будет иметь свою логику для выполнения. Поэтому я хотел знать, какую логику использует этот сборщик мусора, который так хорошо поддерживает память.
спасибо
Объект считается мусором, когда он больше не может быть достигнут из любого указателя в работающей программе. Самые простые алгоритмы сборки мусора просто перебирают каждый достижимый объект. Любые оставшиеся объекты считаются мусором. Время, которое занимает этот подход, пропорционально количеству живых объектов, что непомерно для больших приложений, поддерживающих большое количество живых данных.
Взято из Настройка сборки мусора с помощью виртуальной машины Java [tm] 5.0
JVM автоматически повторно собирает память, которая больше не используется. Память для объектов, на которые больше нет ссылок, будет автоматически освобождена сборщиком мусора.
Чтобы увидеть, что сборщик мусора начинает работать, добавьте аргумент командной строки "-verbose: gc" к вашей виртуальной машине.
Подробную статью о сборщике мусора можно найти здесь: Настройка сборки мусора с помощью виртуальной машины Java 5.0
Этот поток часто просыпается и восстанавливает неиспользуемую память. Вы можете взглянуть на алгоритм Mark-and-Sweep . Это также нить демона.
РЕДАКТИРОВАТЬ: Сборщик мусора находит и удаляет объект, который недоступен из основного потока.