A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hanrongle 中级黑马   /  2013-7-13 20:13  /  1117 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-14 11:08 编辑

在这断代码中,第几行的fobj符合垃圾收集器的收集标准?
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;
答案是什么? 为什么第一行不是??知道的讲清楚,谢谢了

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

10 个回复

倒序浏览
我怎么没找到fobj?6和
回复 使用道具 举报
如果是aobj,那么是第七行,因为符号回收的对象,是没有任何引用指向他了
回复 使用道具 举报
我觉得是4和7,不知道对不..在4行aobj原来指向的对象没有引用指向它了。到7行cobj原来指向的对象也没有引用指向它了
回复 使用道具 举报
  1. 1,Object aobj = new Object();
  2. 2,Object bobj = new Object();
  3. 3,Object cobj = new Object();
  4. 4,aobj=bobj;//原来的aobj没有指向了
  5. 5,aobj=cobj; //此处bobj堆内存的数据依然由bobi自己来指向
  6. 6, cobj=null; //cobj空
  7. 7, aobj=nullaobj;//此时应该在第六行就没有数据了,而bobj一直明哲保身,活着……
复制代码

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
一行行分析啊aobj指向的实例本身地址被B的覆盖,所以第1行NEW的OBJ在堆内存中没引用,符合标准,最后A又被C覆盖,A,C又NULL所以只有最初BOBJ,NEW出来的实例有引用变量指向他,所以其他两个都符合GC的回收标准./
回复 使用道具 举报
第四行是aobj和bobj同时指向bobj哪一行new的对象。第五行是aobj和cobj同时指向cobj那一行new出的对象。67行a和c都指向null;所以aobj和cobj都可以被回收了。
回复 使用道具 举报
4,aobj=bobj; 把bobj付给aobj,aobj就指向了bobj的对象
5,aobj=cobj;
6, cobj=null; 将cobj设为空
7, aobj=null;

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
肥猫 中级黑马 2013-7-13 22:00:42
9#
王靖远 发表于 2013-7-13 21:09
第四行是aobj和bobj同时指向bobj哪一行new的对象。第五行是aobj和cobj同时指向cobj那一行new出的对象。67行 ...

应该准确点说,不是aobj和cobj被回收,这两个只是引用变量,GC回收的是堆内存的内存空间。
回复 使用道具 举报
肥猫 发表于 2013-7-13 22:00
应该准确点说,不是aobj和cobj被回收,这两个只是引用变量,GC回收的是堆内存的内存空间。 ...

嗯是的哦。是13行的Object对象被回收
回复 使用道具 举报
1,Object aobj = new Object(); //实例1
2,Object bobj = new Object(); //实例2
3,Object cobj = new Object(); //实例3
4,aobj=bobj; //bobj变量地址值赋值给aobj,此时aobj bobj 同时指向实例2.aobj原指向的实例1就被回收. 此时就剩下实例2,3
5,aobj=cobj; //cobj变量地址值赋值给aobj, aobj cobj 都指向实例3. bobj不变.这一步没有垃圾回收.
6, cobj=null;      //由于第5步有 aobj cobj 都指向实例3. 这边即时cobj=null.还有aobj指向.所以这步也没有垃圾回收.
7, aobj=null;     // 6, 7 把aobj cobj 都设为null   实例3就被回收了.

所以后面就只剩下一个实例2,也就bobj类变量在栈内存中存储着实例2的首地址.

评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马