if(true)
{
        Object a=new Object();
        int i=10
}//离开作用域后,
1,a满不满足垃圾回收的条件?
2,i满不满足,亦或int这种简单类型超出作用域后就自动完蛋?

解决方案 »

  1.   

    if(true)
    {
            Object a=new Object();
            int i=10
    }
    内存溢出了
      

  2.   


    a,我的两个问题这样理解对吗?:都满足,因为都超出作用域了b,int i(简单数据类型),这个i存在栈中还是堆中?垃圾回收器管不管他?
      

  3.   

    a, a分配在堆内存中,在栈中只是它的一个指针,离开作用域后,就可以被回收了
    b, i是简单类型,只是在栈中,离开作用域,自动消失,不需回收