首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCJP考试的问题

SCJP考试的问题
EN

Stack Overflow用户
提问于 2009-12-14 11:46:07
回答 1查看 1K关注 0票数 2

SCJP测试的问题:

代码语言:javascript
复制
 class A{
      A aob;
      public static void main(String args[]){
           A a=new A();
           A b=new A();
           A c=new A();
           a.aob=b;
           b.aob=a;
           c.aob=a.aob;
           A d=new A().aob=new A();
           c=b;
           c.aob=null;
           System.gc();
      } 
  }

问题:在执行c.aob=null之后,有多少对象有资格进行垃圾收集。

我想是1,但答案2正确。怎么了?

EN

回答 1

Stack Overflow用户

发布于 2009-12-14 12:02:35

我在谷歌上找到了这条线

第一个对象是最初由c引用的对象。 一个a=新A(); 一个b=新A(); A c= 新A(); a.aob=b; b.aob=a; c.aob=a.aob; 一个d=新的A().aob=new A(); c=b;//(1)它成为符合(1)的条件。 符合GC条件的另一个对象是at语句。 A d=新A().aob=new A(); 在这里,以粗体形式在文本中创建的对象将符合GC的条件。斜体文本中的对象将分配给d。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1900443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档