关于java垃圾回收的一道题

1.Object aobj = new Object ( ) ;
2.Object bobj = new Object ( ) ;
3.Object cobj = new Object ( ) ;
4.aobj = bobj;
5.aobj = cobj;
6.cobj = null;
7.aobj = null;

问 第7行的aobj复合垃圾回收标准吗?

假如你这7句代码是连续的
aobj = bobj; 这句使得Object aobj = new Object ( ) 这时候创建的这个对象变成垃圾了。aobj = cobj; 这句话没有产生垃圾。
cobj = null; 这句话没有产生垃圾。
aobj = null; Object cobj = new Object ( ) ; 这时候创建的这个对象变成垃圾了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-17
源cobj 和 aobj所引用的对象都会被垃圾回收器回收

这个过程是这样的
当aobj = bobj;执行过以后原aobj所引用的那个对象就将被回收

接下来的三句话
aobj = cobj;
cobj = null;
aobj = null;
执行过后源cobj所引用的对象将会被回收
相似回答