Jak uruchomić 32-bitową Javę na Mac OSX 10.7 Lion

Z mojego doświadczenia z Windows 7 (64-bit) i Java, 32-bitowy JRE zużywa mniej pamięci i działa znacznie szybciej niż 64-bitowy JRE(pod warunkiem, że nie potrzebujesz lub nie korzystasz z dużej ilości pamięci). Wyobrażam sobie, że to samo dotyczy również Mac OSX (i innych platform).

Obecnie używam OSX Lion (v10.7) i zainstalowałem standardową aplikację Java. W Ustawieniach Java widzę "Java SE 6" z "Apple Inc."dla obu typów procesorów w wersji "32-bitowej" i "64-bitowej" "1.6.0_26-b03-383". Zmieniłem preferowaną kolejność, aby umieścić wersję 32-bitową na szczycie wersji 64-bitowej, mając nadzieję, że spowoduje to, że wersja 32-bitowa będzie domyślna.

Ale "java-version" nadal mówi:

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)

Czy można domyślnie używać wersji 32-bitowej? I jak?

Czy ktoś ma doświadczenia / pomiary porównawcze dotyczące szybkości i wydajności pamięci pomiędzy wersjami 32/64-bitowymi?

Author: Ulrik, 2011-08-04

5 answers

Dowiedziałem się teraz, że 32-bitowy JVM można jawnie uruchomić za pomocą przełącznika-d32.

Na moim komputerze "java-version-d32" mówi:

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)

I chociaż tak nie jest napisane, jest to 32-bitowy JVM.

 21
Author: Ulrik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-03 23:12:24

Najnowsze wersje 64-bitowej Javy mają domyślnie włączone-XX: + UseCompressedOops (jeśli sterta jest mniejsza niż 32 GB). Oznacza to, że w każdym przypadku używane są odwołania 32-bitowe. Obiekty są nadal nieco większe (4 bajty więcej nad głową)

Ten artykuł porównuje 32-bitowe, 64-bitowe z UseCompressedOops Java: ile pamięci zużywają różne tablice i kolekcje

Jeśli chodzi o wydajność, uważam, że to 5-10% w zależności od tego, co robisz. Jeśli używasz dużo wartości long będzie szybciej używać 64-bitowych.
 7
Author: Peter Lawrey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-04 13:21:08

Przejdź do aplikacji "Java Preferences" i przeciągnij Javę 32-bitową na górę listy.

 1
Author: Zanson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-13 14:04:57

Wypróbuj poniższe kroki:

  1. Otwórz terminal i przejdź do /System / Library / frameworks / JavaVM.framework / Versions /
  2. wpisz ls - l aby wyświetlić listę wszystkich dostępnych wersji Javy
  3. Enter sudo ln-Fhsv CurrentJDK

Reference: Changing Java Version

 1
Author: Sunil Manheri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-13 06:06:05

W /System/Library/Framework / JavaVM.framework / wersje Znalazłem zainstalowaną wersję 1.6 i zmieniłem ścieżkę dla java, javac do / System / Library/Framework / JavaVM.framework / Versions / 1.6 / home alias zamiast domyślnego linku znalezionego w /usr / bin /

 1
Author: user3076647,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-12 00:50:44