什么意思啊?
什么叫没有Garbage Collection?

解决方案 »

  1.   

    当然没有进行垃圾回收拉
    在oa[0]=o 之后
    原来o所指向的数据存在oa[0]的引用,所以即使o=null,但是垃圾回收并没有发生!
      

  2.   

    圾回收的时间是无法预见的,而且是自动进行的;除非调用System.gc().
      

  3.   

    对啊,
      垃圾回收是当逼近内存用完的那一刻启动的,所以也是是不知道它是什么时候开始调用的。
    如果你要强制运行的话就是调用:  System.gc();
      

  4.   

    我觉得这道题问的是程序结束时VM为什么没有垃圾回收的动作public class X{
    public Object m(){
    Object o = new Float(3.14F);
    Object [] oa = new Object[1];
    oa[0] = o;        //oa[0] 的引用指向了o
    o=null;           //o的引用被指向了null
                                        //但o原来所指向的对象依然被oa[0]所引用
                                        //因此o原来所指向的对象不满足垃圾回收条件
    return oa[0];
    }
    }记得在学SCJP的时候看过书上对垃圾回收条件是这样描述的,一个对象空间只有在没有任何引用再指向它的时候,才会被VM回收,而且回收的时间不确定的。