Заколлектятся ли две стронг ссылки друг на друга? В каком случае не заколлектятся?

Нет, объекты, которые ссылаются друг на друга через strong-ссылки, не будут автоматически собраны сборщиком мусора (GC), если на них есть живые ссылки от других объектов (например, из стека или кучи). Это создаст циклическую ссылку, но она не станет проблемой для GC, пока хотя бы один объект в цикле имеет ссылку из GC Root (например, из активного потока). Если такие объекты не достижимы из GC Roots, они будут собраны.

Циклические ссылки не мешают работе GC, так как он использует алгоритм маркировки объектов, а не просто отслеживает ссылки.


Опубликовано

в

от

Метки: