Сборка мусора - корневые узлы

Я недавно читал куски и куски о сборке мусора (в основном в Java), и один вопрос все еще остается без ответа: как JVM (или система времени выполнения в целом) отслеживает СЕЙЧАС живые объекты?

Я понимаю, что объекты - это те, которые в настоящее время находятся в стеке, поэтому все локальные переменные или параметры функции, которые являются объектами. Проблема с этим подходом заключается в том, что всякий раз, когда система выполнения проверяет, что в данный момент находится на стеке, как она будет отличать ссылочную переменную от простого int? Она не может, не так ли?

Поэтому должен быть какой-то механизм, позволяющий системе выполнения строить начальный список живых объектов для передачи на фазу mark-sweep...

11
задан Kara 22 January 2014 в 15:59
поделиться