本帖最后由 FlyFish 于 2014-12-1 10:42 编辑
Object的hashCode方法是返回对象的哈希吗值。它造成内存泄露的原因是更改了参与hashcode计算的变量的值,
如:
定义人:
Person 有姓名,年龄和对应的get/set方法。
将人的实例存入哈希表结构的集合中时,会自动计算每个对象的哈希值,存入后,调用人的set方法为对象属性指定新值,这时,会重新计算hash值,会在集合中存在两个引用名称相同而哈希值不同的对象元素,执行remove集合元素的操作时,调用者以为移除了该对象的引用,其实移除的只是一个。
|