Сборка мусора - потерянные ссылки LinkedList

Предположим, у вас есть ссылки A -> B -> C -> D . Когда вы удаляете ссылку на B из A , у вас остается бесхозная цепочка объектов B -> C -> D .

Will C и D подлежат сборке мусора, даже если к ним невозможно добраться (поскольку нет ссылки на B )?

Я полагаю, что GC - это умно и решит любые такие зависимости.

Однако я просмотрел исходный код для класса LinkedList и обнаружил нечто противоречащее этому мнению. Я заметил, что когда список clear () ed, все ссылки на каждую ссылку явно устанавливаются на null , что делает его O (n) ] операция. Есть ли для этого какие-то причины / преимущества?

12
задан shmosel 4 May 2017 в 19:28
поделиться