4,4,5 前面两个Object o的生命期在整断代码内!所以在for 循环内的最后一个 new Object()对象不会回收!for中的每次循环使上一次循环生成的Object 对象被垃圾回收! Object o = null ; 与Object o;等价 o都为null;最后一个Object o的生命期在for循环体内{},所以每生成一个Object实例后, 在进入下一次循环前,该实例被垃圾回收!
For(int I=0;I<5;I++) { Object o = new Object();//这一句每次都产生一个新的对象,所以不会有对象可供回收。 } 1、We can easily remove an object reference from a variable by setting the variable to null. 2、We cas also free up an object from a reference variable by setting th variable to point to another object.
to : Dickensi(流星·逐日)(★★★★) :谢谢,我也同意你的观点,再我拿到这个问题的同时,我也有答案(4,5,5), 不过我不明白他的答案,不知道他的答案是不是正确的。
to gaojunbo(飞马) :Dickensi(流星·逐日)(★★★★) 也说到了 ,第三种Object o 的生命周期只再 for内,所以,他生成的5个新对象都是被回收之列的
前面两个Object o的生命期在整断代码内!所以在for 循环内的最后一个
new Object()对象不会回收!for中的每次循环使上一次循环生成的Object
对象被垃圾回收!
Object o = null ; 与Object o;等价 o都为null;最后一个Object o的生命期在for循环体内{},所以每生成一个Object实例后,
在进入下一次循环前,该实例被垃圾回收!
{
Object o = new Object();//这一句每次都产生一个新的对象,所以不会有对象可供回收。
}
1、We can easily remove an object reference from a variable by setting the variable to null.
2、We cas also free up an object from a reference variable by setting th variable to point to another object.
不过我不明白他的答案,不知道他的答案是不是正确的。
for内,所以,他生成的5个新对象都是被回收之列的
Object o;这句在程序中很少使用,o的状态未知!
Object o;这句在程序中很少使用,但据sun称o的状态未知!不知什么意思!
学习!
Object o = null; 和 Object o ;并不相同