簡體   English   中英

如何在Mac OSX 10.7 Lion上運行32位Java

[英]How to run 32-bit Java on Mac OSX 10.7 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)

是否可以默認使用32位版本? 如何?

此外,是否有人有關於32/64位版本之間的速度和內存效率的經驗/比較測量?

我現在發現,可以使用-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)

雖然它沒有這么說,但它是一個32位的JVM。

最新版本的Java 64位默認情況下啟用-XX:+ UseCompressedOops(如果堆小於32 GB)。 這意味着在任何情況下都使用32位引用。 對象仍然稍大(開銷增加4個字節)

本文將32位,64位與UseCompressedOops Java進行比較:不同的數組和集合占用多少內存

在性能方面,我發現它取決於你正在做的事情是5-10%。 如果您使用了很多long值,那么使用64位會更快。

在/System/Library/Frameworks/JavaVM.framework/Versions我發現版本1.6安裝並更改了java的路徑,javac使用環境別名指向/System/Library/Frameworks/JavaVM.framework/Versions/1.6/home而不是在/ usr / bin /中找到的默認鏈接

進入“Java首選項”應用程序並將java 32位拖到列表頂部。

請嘗試以下步驟:

  1. 打開終端並轉到/System/Library/Frameworks/JavaVM.framework/Versions/
  2. 鍵入ls -l以列出所有可用的Java版本
  3. 輸入sudo ln -fhsv CurrentJDK

參考: 更改Java版本

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM