6
我想了解內存泄漏的其中一個示例,我在其中實現了hashCode()的示例,而不是equals()。我已經通讀了那篇文章,如果一個人因爲違反合同而戰勝了另一個人也必須被過度纏身。爲什麼不在Java中實現equals方法導致內存泄漏
這是示例代碼
import java.util.HashMap;
import java.util.Map;
public class MemoryLeak {
static class Key {
Integer id;
Key(Integer id) {
this.id = id;
}
@Override
public int hashCode() {
return id.hashCode();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Map m = new HashMap();
while (true)
for (int i = 0; i < 10000; i++)
if (!m.containsKey(i))
m.put(new Key(i), "Number:" + i);
}
}
我知道我還沒有實現了equals()上目的方法。但我想站在內部爲什麼內存泄漏被創建。
感謝