У меня возник вопрос о следующем фрагменте кода.Java: Сколько объектов создано? Массив как переменная элемента
class MemArr{
int[] mem = {1,2};
}
public class Test{
public static void main(String[] args){
MemArr[] x = new MemArr[2]; //line 1
x[0] = new MemArr(); //line 2
x[1] = null; //line 3
//line 4
}
}
Сколько объектов создаются в общей сложности и сколько объектов имеют право на сбор мусора, когда линия 1 достигается?
Я считаю, что в строке 1, было 5 объектов, созданных (1 массив х, 2 объекты MemArr
в массиве х, 2 переменные члены массива целых чисел для объектов MemArr)
В строке 2 , были созданы два объекта (один объект MemArr
и его переменная-член mem
).
В строке 3, когда x[1]
установлен в null, я думаю, что было всего 4 объекта, которые имеют право на GC, но я не очень уверен в этом.
Ну ладно, я вижу свою ошибку. Спасибо! – Philipp