【发布时间】:2016-08-17 15:10:02
【问题描述】:
HashMap obj = new HashMap();
for(int i=0;i<1000;i++) {
obj = getObjects(i);
}
这段代码会在“obj = getObjects(i);”这一行导致内存泄漏吗?
我不确定 obj 的旧值是否被释放,或者它们是否仍在使用内存。
如果这是内存泄漏,正确的语法是什么?
【问题讨论】:
-
obj 在分配之前指向的 HashMap 将被垃圾收集,因为不会有任何对它的引用,但不能保证它会在分配完成后立即发生。垃圾收集最终会发生。
-
请不要使用像 HashMap 这样的原始类型。
标签: java memory memory-leaks garbage-collection