面试问到的

hello1kitty 2012-09-24
在main中

string s1 = "abc";
string s2= "efg";
list.add(s1);
list.add(s2);
s1 = null;
s2 = null;

此时然后发生一次GC,会回收掉s1,s2么?

我回答不会回收,因为此时还有指向s1、s2的,面试官脸黑了。求解答!
lvwenwen 2012-09-24
应该被回收了吧
jinnianshilongnian 2012-09-25
这个很明显不会
list.add(s1);
list.add(s2);

list保持引用了。
RednaxelaFX 2012-09-25
不知道那位面试官原本出问题的意图是什么?…
一般猜的话楼上是正解。
lvwenwen 2012-09-25
RednaxelaFX 写道
不知道那位面试官原本出问题的意图是什么?…
一般猜的话楼上是正解。



无引用的都是空指针了。。。所以会回收
跑GC了肯定会回收
只是GC不知道什么时候会执行 

hello1kitty 2012-09-26
确定空指针都会被回收么?
lvwenwen 2012-09-26
hello1kitty 写道
确定空指针都会被回收么?


跑GC了肯定会回收
bugu1986 2012-09-26
在list里有引用捏
wupuyuan 2012-10-23
lvwenwen 写道
hello1kitty 写道
确定空指针都会被回收么?


跑GC了肯定会回收


一个对象会有多个引用的。比如list的引用。

不一定就是设置null会被回收的
lvwenwen 2012-10-23
wupuyuan 写道
lvwenwen 写道
hello1kitty 写道
确定空指针都会被回收么?


跑GC了肯定会回收


一个对象会有多个引用的。比如list的引用。

不一定就是设置null会被回收的


那怎么判断是有没有引用呢
Global site tag (gtag.js) - Google Analytics