栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否支持在HotSpot JVM中删除压缩字符串?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否支持在HotSpot JVM中删除压缩字符串?

最初,添加此选项是为了提高SPECjBB性能。增益的增加是由于处理器和DRAM之间的内存带宽要求降低。与在char []中使用char相比,在byte
[]中加载和存储字节会消耗1/2带宽。

但是,这是有代价的。代码必须确定内部数组是byte []还是char []。这会花费CPU时间,并且如果工作负载不受内存 带宽的
限制,则可能导致性能下降。由于增加了复杂性,因此还有代码维护的价格。

由于没有足够多的类似于生产的工作负载显示出可观的收益(也许SPECjBB除外),因此删除了该选项。

这有另一个角度。该选项减少了堆的使用。对于适用的字符串,它将这些字符串的内存使用量减少1/2。取消期权时未考虑该角度。对于内存 容量
受限的工作负载(即必须在有限的堆空间下运行,GC需要花费大量时间),此选项可能会很有用。

如果可以找到足够的内存 容量来 限制生产型工作负载以证明该选件的合理性,则该选件 可能 会被带回。

编辑3/20/2013:
平均服务器堆转储使用String上25%的空间。大多数字符串都是可压缩的。如果重新引入该选项,则可以节省一半的空间(例如〜12%)!

编辑3/10/2016: 与压缩字符串相似的功能在JDK 9 JEP254中又回来了。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/419045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号