Java程序运行在64位机器上会付出比较大的代价:jvm
1,内存问题性能
1)内存寻址范围较32位扩大了1倍,也就是指针膨胀;
测试
2)数据类型在64位中存储须要对齐补白;
指针
以上两个缘由,致使64位较32位须要消耗更多的内存,一般增长10-30%;
对象
2,64位jvm的运行速度的各项测试几乎全面落后于32位,性能差距15%左右;内存
能够选择32位集群的方式来部署。部署
在JDK1.6 Update14以后,sun提供了指针压缩功能(-XX:+ UseCompressedOops),执行代码时动态植入压缩指令以节省内存消耗,但同时会增长执行的代码数量,全部的heap(堆)里的、指向heap内对象的指针都会被压缩。集群