Java中的内存泄漏可能吗?
这个问题在这里已经有了答案:
从更广泛的意义上讲,内存泄漏就是任何情况下,您继续保留您不再需要且不再需要使用的已分配内存。
考虑下面的[诚然是人为的]例子:
public class LeakingClass {
private static final List<String> LEAK = new ArrayList<>();
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("What is your name? ");
while (in.hasNext()) {
name = in.next();
System.out.println("Hi " + name);
LEAK.add(name);
System.out.println("What is your name? ");
}
}
}
LEAK
列表在每次迭代中都会增长,并且无法释放它,但它从未被使用过。 这是一个泄漏。
上一篇: Are Memory Leaks Possible in Java?
下一篇: performSelector may cause a leak because its selector is unknown