Java 删除元素时在HashMap中释放内存

Java 删除元素时在HashMap中释放内存,java,memory-management,hashmap,Java,Memory Management,Hashmap,在向HashMap添加新元素时,HashMap的容量在达到阈值级别时会增加。同样地,当移除元素时,它的大小会缩小吗?很多桶会变空吗?如果是,是如何做到的?如果不是,是否会导致内存泄漏 同样地,当移除元素时,它的大小会缩小吗?很多桶会变空吗 没有 如果不是,是否会导致内存泄漏 是的,如果你坚持住的话。但这种情况实际上是非常罕见的:将地图扩大到一个大尺寸,删除大量条目,然后不再将其扩大,这是您在这里遭受重大损失的唯一方法,而这在实践中并不经常发生。应该强调的是,我们在这里讨论的只是一个超大的数组。未

在向HashMap添加新元素时,HashMap的容量在达到阈值级别时会增加。同样地,当移除元素时,它的大小会缩小吗?很多桶会变空吗?如果是,是如何做到的?如果不是,是否会导致内存泄漏

同样地,当移除元素时,它的大小会缩小吗?很多桶会变空吗

没有

如果不是,是否会导致内存泄漏


是的,如果你坚持住的话。但这种情况实际上是非常罕见的:将地图扩大到一个大尺寸,删除大量条目,然后不再将其扩大,这是您在这里遭受重大损失的唯一方法,而这在实践中并不经常发生。

应该强调的是,我们在这里讨论的只是一个超大的数组。未使用的bucket仍然是
null
,并且没有引用其他对象。