“Java 在64位虚拟机的性能远不如32位” – 抄书

“ Java程序运行在64位虚拟机上需要付出比较大的额外代价:首先是内存问题,由于指针膨胀和各种数据类型对齐补白的原因,运行在64位系统上的Java应用需要消耗更多的内存,通常要比32位系统额外增加10%~30%的内存消耗;其次是多个机构的测试结果显示,64位虚拟机的运行速度在各个测试项上几乎全面落后于32位虚拟机,两者大约有15%左右的性能差距。

但是在JavaEE方面,企业级应用经常需要使用超过4G的内存,对于64位虚拟机的需求是非常迫切的,由于上诉原因,需要企业应用仍然选择使用虚拟集群等方式在32位虚拟机中进行部署。Sun也注意到了这些问题,并做了一些改善,在JDK1.6 Update 14 之后,提供了普通对象指针压缩功能(-XX:+UseCompressdOops),在解释器解释字节码时,植入压缩指令以节省内存消耗。”

— 选自《深入理解Java 虚拟机 周志明 著》

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>