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內對象的指針都會被壓縮。集羣