这段代码来自一本书。问题是:
- 创建了多少个对象?
- 当达到// do stuff这一行时,有多少个对象可以进行垃圾收集?
根据这本书的说法,答案分别为5和2。以下是代码:
class Dozens {
int[] dz = {1,2,3,4,5,6,7,8,9,10,11,12};
}
public class Eggs{
public static void main(String[] args){
Dozens[] da = new Dozens[3];
da[0] = new Dozens();
Dozens d = new Dozens();
da[1] = d;
d = null;
da[1] = null;
// do stuff
}
}
针对第一个问题,当您实例化Dozens时,您是否还将int [] dz对象计算为每个附加对象?
同样地,在到达// do stuff时,在计算有多少个对象符合进行垃圾回收的条件时,对于每个Dozens对象,您是否也计算其中包含的int [] dz对象?
我没有计算int [] dz对象,并得出了答案5和3。
有人能解释一下我可能做错了什么吗?
谢谢。
main
方法的(可能为空的)命令行参数,并创建一个字符串对象来保存每个命令行参数(如果有的话)。 - Bobulous