From my experience with Windows 7 (64-bit) and Java, a 32-bit JRE uses less memory and runs significantly faster than a 64-bit JRE (provided you don't need or benefit from having a lot of memory). I imagine the same thing is true for Mac OSX (and other platforms) as well.
I am currently running OSX Lion (v10.7), and I have installed the standard Java app. Under Java Preferences, I see "Java SE 6" from "Apple Inc." for both CPU-types "32-bit" and "64-bit" version "1.6.0_26-b03-383". I have changed the preferred order to put the 32-bit version on top of the 64-bit version, hoping that this would make the 32-bit version default.
But "java -version" still says:
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)
Is it possible to use the 32-bit version by default? And how?
Also, does anyone have experiences / comparative measurements regarding speed and memory efficiency between the 32/64-bit versions?
I found out now, that the 32-bit JVM can be explicitly launched using the -d32 switch.
On my machine, "java -version -d32" says:
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)
and although it doesn't say so, it is a 32-bit JVM.
The latest versions of Java 64-bit have -XX:+UseCompressedOops on by default (if your heap is less than 32 GB). This means 32-bit references are used in any case. The objects are still slightly bigger (4 bytes more overhead)
This article compares 32-bit, 64-bit with UseCompressedOops Java: How much memory do different arrays and collections consume
In terms of performance, I have found it to be 5-10% depending on what you are doing. If you are using a lot of long
values it will be faster to use 64-bit.
在/System/Library/Frameworks/JavaVM.framework/Versions我发现版本1.6安装并更改了java的路径,javac使用环境别名指向/System/Library/Frameworks/JavaVM.framework/Versions/1.6/home而不是在/ usr / bin /中找到的默认链接
进入“Java首选项”应用程序并将java 32位拖到列表顶部。
Try the below steps:
Reference: Changing Java Version
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.