在我的代码中的某个时刻,我想使 Collection 对象无效。这样做会不会造成内存泄漏?
Set<String> set = new HashSet<String>("Test");
...
...
set = null;
if(set == null){
...
}
最佳答案
您不会使对象无效,而是将变量的值更改为null
。了解对象、变量和引用之间的区别非常非常重要。
这很少有用,但导致变量泄漏本身就非常奇怪。我无法立即想到这是如何发生的 - 当然,除非您进行了一些无效检查,这改变了您对其他数据的行为。它可能使前一个变量值引用的集合符合垃圾回收的条件,也可能不符合垃圾回收的条件 - 这取决于其他任何东西是否仍然引用它。
关于java - 将 Collection 对象设为 NULL 好不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22721654/