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