System.out.println (“End of Logic”);
在执行此代码期间将创建多少个对象? 当垃圾收集器达到{{1}}时,它将为垃圾收集器准备多少?为什么?
答案 0 :(得分:-2)
假设代码是固定的(int [] nums = {1,2,3};并且格式化的引用是固定的):
总共会创建4个对象。查看代码:
Fizz[] fs = new Fizz[3];
我们将数组本身创建为一个对象,但是它内部没有创建任何内容,因此创建了一个对象。
Fizz fizz = new Fizz();
这会创建两个对象:实际的Fizz对象和Fizz对象内的nums数组。
fs[1] = fizz;
没有创建任何对象,我们只需指定fs[1]
指向fizz。
fizz = null;
我们指定fizz = null,但该对象仍然存在,因为它被fs[1]
指向。
因为所有对象都有引用,所以此时不会有任何垃圾回收。
然后你有了创建的字符串对象,总共有4个对象。