【问题标题】:Memory deallocation in HashMap while removing elements删除元素时 HashMap 中的内存释放
【发布时间】:2016-01-31 04:35:47
【问题描述】:

向HashMap添加新元素时,HashMap的容量在达到阈值水平时会增加。同样,在删除元素时它的大小会缩小并且很多桶变空吗?如果是这样,它是如何完成的?如果没有,会不会造成内存泄漏?

【问题讨论】:

    标签: java memory-management hashmap


    【解决方案1】:

    同样,在删除元素时它的大小会缩小并且很多桶变空吗?

    没有。

    如果没有,会不会造成内存泄漏?

    是的,如果你坚持下去。但这种情况实际上是非常罕见的:将地图扩大到大尺寸,删除大量条目,并且不再扩大它是您在这里遭受重大损失的唯一方式,而这并不是经常发生的事情练习。

    【讨论】:

    • 需要强调的是,我们这里只讨论一个超大的数组。未使用的存储桶仍然是null,并且没有引用其他对象。
    猜你喜欢
    • 2017-05-20
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    相关资源
    最近更新 更多