Недавно я прочитал фрагменты о сборке мусора (в основном на Java), и один вопрос по-прежнему остается без ответа: как JVM (или система времени выполнения в целом) отслеживает текущие объекты в реальном времени?
Я понимаю, что объекты находятся в стеке, поэтому все локальные переменные или функциональные параметры, которые ARE объекты. Рольблема с этим соглашением заключается в том, что всякий раз, когда система времени выполнения проверяет, что в данный момент находится в стеке, как бы она различала ссылочную переменную и простой int? он не может, может ли это?
Следовательно, должен существовать какой-то механизм, позволяющий runtime строить исходный список живых объектов для прохождения фазы отметки...