Adi*_*pta 5 java string-pool
在浏览有关字符串池及其多年来的变化的这篇文章时,我遇到了以下声明:
在Java 7u40之前,默认池大小为1009个存储桶,但此值在较新的Java版本中受到一些更改。确切地说,从Java 7u40到Java 11的默认池大小为60013,现在增加到65536。
那么,字符串池中的存储桶是什么?这些如何与实习字符串的数量相媲美?这个概念类似于哈希图中的存储桶吗?
And*_*lko 3
那么,字符串池中的桶是什么?
字符串池基本上是一个哈希表。哈希表包含桶或槽。
这些与内部字符串的数量有何可比性?
它是实现定义的(特定于 JVM)并且取决于单个存储桶存储的条目数量。理想情况下,一个桶保留一个条目。
这个概念与哈希图中的桶类似吗?
是的,这是同样的想法。
为什么默认池大小会增长?(我的问题)
分配的存储桶越多,负载因子越低,这对性能有积极影响。我猜想表中占用的初始条目数会增加,因此保持负载因子更新(至少在同一水平)很重要。
归档时间:
6 年,11 月 前
查看次数:
108 次
最近记录: