作者ziyunfts (ziyun)
看板java
标题[问题] garbage collection
时间Fri Jan 16 14:55:39 2009
1.class TestA {
2. TestB b;
3. TestA() {
4. b = new TestB(this);
5. }
6.}
7.
8.class TestB {
9. TestA a;
10. TestB(TestA a) {
11. this.a = a;
12. }
13.}
14.
15.class TestAll {
16. public static void main(String args[]) {
17. new TestAll().makeThings();
18. }
19.
20. void makeThings() {
21. TestA test = new TestA();
22. }
23.}
请问a在line11有参考了
为什麽会符合garbage collection
如果是因为line21的text消失
那为什麽b没有失去参考
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.163.89.165
1F:推 supertitler:makeThings()结束後,程式就无法指到test了吧 01/16 15:32
2F:→ supertitler:所以当GC运行时,便会释放test,test中有个b,所以释 01/16 15:34
3F:→ supertitler:放test之前,会先释放b 01/16 15:36
4F:→ ziyunfts:可是这题的答案是只有释放ab并没有释放 01/16 16:06
5F:推 PsMonkey:因为自己参考自己? 01/16 16:33
6F:推 GALINE:要看使用的GC演算法决定吧?且这年头的GC如不能对付循环参 01/16 16:41
7F:→ GALINE:照,那大概没人要用了…[指了指IE的javascript引擎] 01/16 16:42
8F:→ ziyunfts:题目就只给这样 然後请问ab哪个符合gc条件 01/16 22:41
9F:推 GALINE:至少要给GC的演算法跟程式跑到哪里吧...这题目怪怪的 O_oa 01/16 23:03
10F:→ ziyunfts:都没有 所以我也想不出来为什麽 01/16 23:36