我试图了解内存泄漏的各种原因我看到的样本中的hashCode()实现了而不是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()方法.但我想知道为什么会在内部发生内存泄漏.
谢谢
解决方法
原文地址:https://www.jb51.cc/java/121653.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。