在阅读这关于字符串池及其多年变化的文章时,我看到了以下声明:
在Java 7u40之前,默认的池大小是1009个桶,但是这个值在最近的Java版本中会有一些变化。准确地说,从Java7u40到Java 11的默认池大小是60013,现在增加到65536。
那么,字符串池中的桶是什么?这些如何与被拘留字符串的数量相比较?这个概念与hashmap中的桶类似吗?
发布于 2019-05-30 10:42:02
那么,字符串池中的桶是什么?
字符串池基本上是散列表。哈希表包含桶或槽。
这些如何与被拘留字符串的数量相比较?
它是实现定义的(JVM特定的),并取决于一个桶存储了多少个条目。理想情况下,一个桶保存一个条目。
这个概念与hashmap中的桶类似吗?
是的,这是同样的想法。
为什么默认池的大小在增加?(我的问题)
分配的桶越多,负载系数越低,这对性能有积极的影响。我猜表中占据的条目的初始数量会增加,因此保持加载因子的更新(至少在同一级别上)是很重要的。
https://stackoverflow.com/questions/56375987
相似问题