【发布时间】:2015-01-07 00:50:44
【问题描述】:
在下面的代码中 - 对象 s2 创建了 10000000 次并添加到列表中 - samp2 将在外部某处使用。它会 [created objects] 通过将其设为 null 来获得 GC 吗?
谁能解释一下?
如果它没有发生GC,那么如何实现GC,因为创建了这么多对象并添加到列表中并没有用?
请帮我解决这个问题?
/----------* /
List<SampleBean> samp2=new ArrayList<>();
for(int i=1;i<10000000;i++){
SampleBean s2=new SampleBean();
s2.x=i;
samp2.add(s2);
s2=null;
}
/SampleBean 类/
public class SampleBean{
int x;
}
注意:samp2 是保存对象的列表,它将在外面使用。
【问题讨论】:
-
或许可以阅读有关垃圾收集的基本教程。如果你搜索,你会发现很多。我不禁要注意您的生物状态,您有 3.3 年的 Java 经验。是时候阅读垃圾收集了...?
-
嗨 Jigar Joshi,感谢您的 cmets。我目前正在尝试了解垃圾收集过程。为此,我试图在对象使用后取消引用[添加到列表后]。为此我提出了这个问题。您能否建议一些 GC 过程的站点链接以及示例? :)
标签: java object garbage-collection