64位jvm的指针膨胀 和 数据补白
64位jvm的指针膨胀 和 数据补白
treenewtreenew 发表于1年前
64位jvm的指针膨胀 和 数据补白
  • 发表于 1年前
  • 阅读 55
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

指针膨胀:64位jvm寻址范围较32位变成了64位,叫做指针膨胀;

64位数据补白:数据在64位jvm中存储较之32位jvm需要对数据位进行对齐补白;

因为以上原因64位jvm通常需要更多的内存,比32位jvm多10%到30%,在主流测试环境中64位jvm测试速度也比32位jvm落后,性能差15%左右。

所以很多工程师在采用32位集群方式部署应用,但这种方案也有缺陷: 1、集群节点可能竞争全局资源; 2、一些资源池比如连接池可能利用率不高,因为一般情况下各个节点都有自己的连接池,可能出现有的节点连接池满了,有的节点连接池有较大空余;可以用JNDI改善此类情况但又有性能开销和复杂度。 3、各个节点最高4G的限制,windows下只有2G,堆内存最大可能为1.5G左右。

在jdk1.6 update14之后,sun提供了指针压缩功能(-XX:+ UseCompressedOops),执行代码时动态加入压缩指令以减少内存消耗,但同时会增加代码数量,所有heap内的指向heap内对象的指针都会压缩。

共有 人打赏支持
粉丝 2
博文 54
码字总数 51799
×
treenewtreenew
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: