Встречается на собеседованиях • сегодня

Что произойдет если два объекта ссылаются друг на друга

В Java это приведет к циклической ссылке, но сборщик мусора (GC) все равно сможет удалить такие объекты, если на них нет внешних ссылок. Начиная с Java 9, GC использует алгоритм mark-and-sweep, который помечает достижимые объекты, игнорируя циклические ссылки между недостижимыми объектами.

Пример:

java
class Node {
    Node ref;
}

Node a = new Node();
Node b = new Node();
a.ref = b;
b.ref = a;
a = null;
b = null;
// Теперь объекты могут быть собраны GC

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

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы