这个问题原贴发表在这儿:http://topic.csdn.net/u/20090408/13/89c22659-e194-488d-add1-23256b22465e.html?seed=2029607558虽然是C#技术栏目,但对JAVA完全适用。但所以答案没有一个是正确且完整的。下面是我的答案,我有足够的自信说这是真正正确的答案,除非JVM和CLR规范重新修改了。正常情况下声明一个对象后主动让 obj = null; 没有任何作用,但也没有任何害处(除了说明程序员对编译器的无知和代码看起来比较幼稚) 编译器比你更清楚在什么位置对象已经失去引用。 object o = new object(); stmt1; o.xxx(); stmt2; stmt3; o = null; 其实编译器在为o.xxx()后面就知道它(原来o指向的那个对象)是可回收的, 阅读全文>
发表于 @ 2009年04月09日 09:06:00|评论(loading...)|编辑|举报|收藏