64位jvm的指针膨胀 和 数据补白

指针膨胀: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内对象的指针都会压缩。

转载于:https://my.oschina.net/u/2458458/blog/804654

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值