java性能优化(1)---HotSpot VM 32位和64位的区别

HotSpot VM 32位JVM,内存地址空间限制为4G,实际中java堆的大小还进一步受限于底层操作系统,Microsoft Windows上HotSport VM 最大可用的堆内存为1.5G。

对于liunx操作系统来说,HotSpot VM 在最新Linux内核上最大可用Java堆大约为2.5到3.0G。使用较早内核版本时大约为2G,

Solaris 上HotspotVM 最大可用堆为3.3G,实际消耗的最大内存地址空间随给定的Java应用和JVM版本而有所不同。

早期 64位 HotSpot VM 增大了Java堆内存,使的这些系统可以使用更多内存,虽然64位寻址对应用有帮助但也带来的另外的困难,VM内部Java对象的长度从32位变成64位,导致CPU高速缓存行,中可用的OOPS变少 ,从而降低了CPU缓存的效率,比32位JVM下降8%-15%。

Java6以后 HotSpot VM 添加了压缩指针,它通过对齐,还有偏移量,将64位指针压缩成32位,性能提高更节省空间,留出更多的CPU寄存器空间来使用。

寄存器空间有限,当变量超过CPU寄存器数,多出的活跃状态只能存放在内存中,因此避免寄存器卸载,可以让程序执行的更快。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值