henry_huangs 2011-08-31 19:32
浏览 206
已采纳

从哪一步开始实现垃圾回收?

public class Garbage {
public static void main(String[] args) {
Example exampleOne = new Example(); //step 1
Example [] exampleArray = new Example[1];//step2

    exampleArray[0] = exampleOne;//step3
    exampleOne = null;//step4
    exampleArray[0]= null;//step5
}

}

class Example{
public Example(){
}
}

是不是step5?为什么??

另外,一个对象数组里面的全部对象为null了,那数组会被回收吗??

  • 写回答

2条回答 默认 最新

  • AngelAndAngel 2011-08-31 19:53
    关注

    [quote]是不是step5?为什么??

    另外,一个对象数组里面的全部对象为null了,那数组会被回收吗??[/quote]
    不是step5,但是基本都在step5之后。垃圾回收普遍的判断是,这个对象没有引用了,也就是说等于null,但此时还不会马上回收,只是说做好了回收的准备,已经把这个exampleOne变量放入了待回收的区域里了。
    垃圾回收的发生是不可预料的,你既不能控制它发生的时间,也不能知道它的时间,是由java垃圾回收器统一调用。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?