【发布时间】:2016-06-23 12:47:28
【问题描述】:
我试图了解在什么情况下我会在我的程序中产生内存泄漏,因此我开始阅读以德语编写的This Wikipedia page 开头的内容。
页面底部有一个用Java编写的示例:
private static List<Integer> nummern = new ArrayList<>();
public void erzeugeSpeicherleck() {
for (int i=1; i<10000; i++)
nummern.add(i);
}
// kein weiterer lesender Zugriff auf die List nummern (German)
// no further read access to list 'nummern' (English)
我用 JavaScript 写了这个,一切正常。
var array = [];
for(var i=1; i<10000;i++){
array.push(i);
console.log(array);
}
有人能解释一下为什么 Java 中的那段代码会产生 内存泄漏 吗?
【问题讨论】:
-
你知道 JavaScript 和 Java 的区别,不是吗?它们是根本不同的语言,仅共享名称的一部分。除此之外,注释行转换为“无法进一步读取列表'nummern'”-仍然可以访问列表:)
标签: java memory-leaks