После выполнения какой строки только один объект будет доступен для сборки мусора (Garbage Collection)?

01. public class Test {
02.      Test ags = null;
03.      public static void main(String argv[]) {
04.           Test a1 = new Test();
05.           Test a2 = new Test();
06.           Test a3 = new Test();
07.           a1.ags = new Test();
08.           a2.ags = a1.ags;
09.           a3.ags = a2.ags;
10.           a1 = null;
11.           a2 = null;
12.           a3 = null;
13.      }
14. }
Explanation
После 9-ой строки: a1.ags, a2.ags, a3.ags указывают на объект созданный в строке 7. В 10-ой строке ссылке a1 присваивается значение null. Теперь на объект, созданный в строке 4, нет ссылок. То есть он становится доступным для сборщика. Его поле ags в расчет не берется, так как объект, на который оно указывает, будет доступен посредством ссылок a2.ags, a3.ags

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Продовжуйте вивчати
тести з Java
Cosmo
Зареєструйся Зараз
або Підпишись на майбутні тести