Назад к задачам
Junior — Senior
6

Взаимные ссылки между объектами и поведение сборщика мусора в Java

Компании, где спрашивали:

Т-БанкТ-Банк
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Рассмотрите, как будет вести себя система при наличии взаимных ссылок между объектами. Что произойдёт с объектами, если после их взаимного связывания ссылки из локальных переменных будут обнулены и будет запрошен запуск сборки мусора?

class A {
    B b;
}

class B {
    A a;
}

public class main {
    public static void main(String [] args){
        A objA = new A();
        B objB = new B();

        objA.b = objB;
        objB.a = objA;

        objA = null;
        objB = null;

        System.gc();
    }
}