当前在线人数13350
首页 - 分类讨论区 - 电脑网络 - 爪哇娇娃版 - 同主题阅读文章

此篇文章共收到打赏
0

  • 10
  • 20
  • 50
  • 100
您目前伪币余额:0
未名交友
[更多]
[更多]
JAVA 考试题请教
[版面:爪哇娇娃][首篇作者:weixingchen] , 2015年12月24日15:27:03 ,584次阅读,1次回复
来APP回复,赚取更多伪币 关注本站公众号:
[分页:1 ]
weixingchen
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 1 ]

发信人: weixingchen (satellite), 信区: Java
标  题: JAVA 考试题请教
发信站: BBS 未名空间站 (Thu Dec 24 15:27:03 2015, 美东)

class Beta { ... }

class Alpha {
   static Beta b1;
    Beta b2;

}

public class Tester {

    public static void main (String [ ] args) {
    Beta b1 = new Beta();
    Beta b2 = new Beta();
   Alpha a1 = new Alpha();
   Alpha a2 = new Alpha();

     a1.b1 = b1;
     a1.b2 = b1;
     a2.b2 = b2;
      a1 = null;
      b1 = null;
      b2 = null;

   }
}

问题:在上面的a1, a2, b1, b2中哪几个对象会被gc回收?
--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 96.]

 
briteguy
进入未名形象秀
我的博客
[回复] [回信给作者] [本篇全文] [本讨论区] [修改] [删除] [转寄] [转贴] [收藏] [举报] [ 2 ]

发信人: briteguy (FOCUS), 信区: Java
标  题: Re: JAVA 考试题请教
发信站: BBS 未名空间站 (Wed Dec 30 02:27:01 2015, 美东)

我试着回答一下,不一定对,仅作参考:

Since Alpha.b1 is class level variable, a1.b1 = b1, so we have a2.b1 = b1.

a1.b1 = b1;
a1.b2 = b1;
a2.b1 = b1;
a2.b2 = b2;

a1=null, and no other objects reference a1, so a1 can be gc'ed

a2 is never set to null, so a2 is still used.

b1 is a class level static variable and still referenced by a2, thus b1 is
stil used.

b2 is referenced by a2, thus b2 is still used.

So, the answer is, only a1 can be 回收。

--
※ 来源:·WWW 未名空间站 网址:mitbbs.com 移动:在应用商店搜索未名空间·[FROM: 50.]

[分页:1 ]
[快速返回] [ 进入爪哇娇娃讨论区] [返回顶部]
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996