para - Cómo ejecutar Java de 32 bits en Mac OSX 10.7 Lion
java para mac sierra (5)
Según mi experiencia con Windows 7 (64 bits) y Java, un JRE de 32 bits usa menos memoria y se ejecuta significativamente más rápido que un JRE de 64 bits (siempre que no necesite o se beneficie de tener mucha memoria). Me imagino que lo mismo es cierto para Mac OSX (y otras plataformas) también.
Actualmente estoy ejecutando OSX Lion (v10.7), y he instalado la aplicación Java estándar. En las Preferencias de Java, veo "Java SE 6" de "Apple Inc." para ambos tipos de CPU "32-bit" y "64-bit" versión "1.6.0_26-b03-383". He cambiado el orden preferido para poner la versión de 32 bits en la parte superior de la versión de 64 bits, con la esperanza de que esto haría que la versión de 32 bits sea la predeterminada.
Pero "java -version" todavía dice:
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)
¿Es posible utilizar la versión de 32 bits por defecto? ¿Y cómo?
Además, ¿alguien tiene experiencias / mediciones comparativas con respecto a la velocidad y la eficiencia de la memoria entre las versiones de 32/64 bits?
Descubrí ahora que la JVM de 32 bits se puede iniciar explícitamente con el interruptor -d32.
En mi máquina, "java -version -d32" dice:
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)
y aunque no lo dice, es una JVM de 32 bits.
Las últimas versiones de Java de 64 bits tienen -XX: + UseCompressedOops activado de manera predeterminada (si su montón es inferior a 32 GB). Esto significa que las referencias de 32 bits se utilizan en cualquier caso. Los objetos son todavía un poco más grandes (4 bytes más de sobrecarga)
Este artículo compara 32 bits, 64 bits con UseCompressedOops Java: ¿Cuánta memoria consumen las matrices y las colecciones diferentes?
En términos de rendimiento, he encontrado que es del 5-10% según lo que esté haciendo. Si está utilizando muchos valores long
, será más rápido usar 64 bits.
Pruebe los siguientes pasos:
- Abra el terminal y vaya a /System/Library/Frameworks/JavaVM.framework/Versions/
- Escriba ls -l para listar todas las versiones de Java disponibles
- Ingrese sudo ln -fhsv CurrentJDK
Referencia: Cambiar la versión de Java
Vaya a la aplicación "Preferencias de Java" y arrastre java 32 bit a la parte superior de la lista.
en /System/Library/Frameworks/JavaVM.framework/Versions Encontré la versión 1.6 instalada y cambié la ruta de Java, javac para que apunte a /System/Library/Frameworks/JavaVM.framework/Versions/1.6/home usando un alias de entorno en lugar de el enlace predeterminado encontrado en / usr / bin /