Сборка мусора составных объектов

У меня есть два класса

Class A
{
    //constructor
}

Class B
{
    private A a;

    public B()
    {
        a = new A();
    }
}

Предположим, я использую объект B [скажем b ] в моем коде и после того, как я закончу его использовать, я установил для него значение null . Я знаю, что объект B теперь доступен для сборки мусора.

Я знаю, что после установки b в ноль, он сразу получит право на сборку мусора? А как насчет объекта типа А? Будет ли он доступен для сборки мусора сразу после того, как я установлю B на null ? Или он будет подходящим для сборки мусора после того, как B будет собран ?

Теоретически, пока B не будет собран сборщиком мусора, a все еще ссылается на него? Компилятор SUN JVM обнаружит это сразу после установки b = null ;

7
задан Nik 13 May 2011 в 13:15
поделиться