由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - JAVA 考试题请教
相关主题
Test your PC speedNullPointerException 问题
折腾了一天,实在是绝望了,请教请教问个primitive type的问题
basic java question一道java面试题 (转载)
请教一个简单的问题这段程序的输出是什么? 为什么
简单问题大虾们能帮我看看这个程序问题出在哪么?
interesting菜鸟问个简单的问题
新手对switch语句的迷惑初学者code请教 (大牛莫取笑)
增加点难度 java core问一个java基础的初始化的问题,一直搞不明白 (转载)
相关话题的讨论汇总
话题: beta话题: b1话题: alpha话题: b2话题: a1
进入Java版参与讨论
1 (共1页)
w*********n
发帖数: 439
1
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回收?
b******y
发帖数: 9224
2
我试着回答一下,不一定对,仅作参考:
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 回收。
1 (共1页)
进入Java版参与讨论
相关主题
问一个java基础的初始化的问题,一直搞不明白 (转载)简单问题
在一个函数里把arraylist设为null 但是有问题interesting
Spring Library Bug?新手对switch语句的迷惑
Java练习题 5增加点难度 java core
Test your PC speedNullPointerException 问题
折腾了一天,实在是绝望了,请教请教问个primitive type的问题
basic java question一道java面试题 (转载)
请教一个简单的问题这段程序的输出是什么? 为什么
相关话题的讨论汇总
话题: beta话题: b1话题: alpha话题: b2话题: a1