为了账号安全,请及时绑定邮箱和手机立即绑定

java中的bucket是如何衡量string pool的

java中的bucket是如何衡量string pool的

慕村225694 2022-12-21 16:32:51
在阅读这篇关于字符串池及其多年来变化的文章时,我遇到了以下声明:在 Java 7u40 之前,默认池大小为 1009 个桶,但此值在较新的 Java 版本中有一些变化。准确地说,从 Java 7u40 到 Java 11 的默认池大小是 60013,现在增加到 65536。那么,字符串池中的桶是什么?这些与驻留字符串的数量有何可比性?这个概念类似于哈希图中的桶吗?
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

那么,字符串池中的桶是什么?

字符串池基本上是一个哈希表。哈希表包含bucketsslots

这些与驻留字符串的数量有何可比性?

它是实现定义的(特定于 JVM)并且取决于单个存储桶存储的条目数。理想情况下,一个桶保留一个条目。

这个概念类似于哈希图中的桶吗?

是的,这是相同的想法。

为什么默认池大小在增长?(我的问题)

分配的桶越多,负载因子就越低,这会对性能产生积极影响。我猜想表中占用的初始条目数会增加,因此保持负载因子更新(至少在同一级别)很重要。


查看完整回答
反对 回复 2022-12-21
  • 1 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信