Описание тега cyclic-reference
Циклическая ссылка устанавливается, если объект A содержит ссылку на B, в то время как B содержит ссылку на A.
Циклическая ссылка устанавливается, если объект A содержит ссылку на B, в то время как B содержит ссылку на A. Это вызывает динамическую проблему ("курица против яйца"), например, в языке программирования, чтобы создать циклическую ссылку, A и B должны быть известны до установления их взаимоотношений. Таким образом, форма временной последовательности (задержки) необходима, если структуры данных являются чисто функциональными, например, путем объявления инициализации ссылок ленивой. Циклические ссылки также могут создавать проблемы для сборки мусора, которая должна определять, что ни один из двух объектов, задействованных в циклической ссылке, больше не доступен для остальной части кода.