Как сборщики мусора отслеживают все живые объекты?

Сборка мусора включает просмотр списка выделенных объектов (всех объектов или объектов в определенном поколении) и определение, какие из них достижимы.

  1. Как этот список поддерживается? Хранят ли среды выполнения для языков сборщика мусора гигантский список всех объектов?

  2. Кроме того, насколько я понимаю, сборщик мусора включает обход стека вызовов для поиска ссылок на объекты - как алгоритм различает указатели, поддерживающие сборку мусора, и примитивные данные?

12
задан Bill 11 July 2011 в 13:24
поделиться