Ulr*_*rik 21 java macos 32-bit osx-lion
根据我使用Windows 7(64位)和Java的经验,32位JRE使用更少的内存并且运行速度明显快于64位JRE(假设您不需要或从拥有大量内存中获益).我想同样的事情也适用于Mac OSX(和其他平台).
我目前正在运行OSX Lion(v10.7),我已经安装了标准的Java应用程序.在Java Preferences下,我看到"Apple Inc."中的"Java SE 6" 对于两种CPU类型"32位"和"64位"版本"1.6.0_26-b03-383".我已经更改了首选顺序,将32位版本置于64位版本之上,希望这会使32位版本成为默认版本.
但"java -version"仍然说:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511c)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode)
Run Code Online (Sandbox Code Playgroud)
是否可以默认使用32位版本?如何?
此外,是否有人有关于32/64位版本之间的速度和内存效率的经验/比较测量?
Ulr*_*rik 21
我现在发现,可以使用-d32开关显式启动32位JVM.
在我的机器上,"java -version -d32"说:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511c)
Java HotSpot(TM) Client VM (build 20.1-b02-383, mixed mode)
Run Code Online (Sandbox Code Playgroud)
虽然它没有这么说,但它是一个32位的JVM.
最新版本的Java 64位默认情况下启用-XX:+ UseCompressedOops(如果堆小于32 GB).这意味着在任何情况下都使用32位引用.对象仍然稍大(开销增加4个字节)
本文将32位,64位与UseCompressedOops Java进行比较:不同的数组和集合占用多少内存
在性能方面,我发现它取决于你正在做的事情是5-10%.如果使用大量long值,则使用64位会更快.
| 归档时间: |
|
| 查看次数: |
61573 次 |
| 最近记录: |