Как сборщик мусора может быстро узнать, какие объекты больше не имеют ссылок на них?

Я понимаю, что в Java, если объект больше не имеет ссылок на него, сборщик мусора вернет его обратно через некоторое время.

Но как сборщик мусора узнает, что объект имеет или не имеет ссылок, связанных с ним?

Сборщик мусора использует какую-то хэш-карту или таблицу?

Edit:

Обратите внимание, что я не спрашиваю, как обычно работает gc. на самом деле, я не спрашиваю об этом.

я спрашиваюspecifically То, как gc знает, какие объекты живы, а какие мертвы, с эффективностью.

Вот почему я говорю в своем вопросе, что gc поддерживает какую-то хэш-карту или набор и постоянно обновляет количество ссылок, которые имеет объект?

Ответы на вопрос(3)

Ваш ответ на вопрос