2011-12-14 12 views
7

Tengo un applet JNLP que se ejecuta en un equipo de 64 bits con JVM de 32 y 64 bits instalados. El JNLP debe ejecutarse en la JVM de 64 bits para poder ejecutar correctamente. ¿Hay alguna manera de forzar el uso de una JVM de 64 bits?Cómo asegurar que se ejecuta un jnlp en un jvm de 64 bits

+0

* "El JNLP se debe ejecutar en la JVM de 64 bits con el fin de ejecutar correctamente." * ¿Por qué? –

+1

@Andrew, memoria! es difícil. También tal vez libs nativos, etc. – bestsss

+0

@bestsss Gracias, pero no pedía especulaciones a los transeúntes. Quiero una respuesta específica del OP. –

Respuesta

1

Utilice -d64 la opción de VM para permitir que la máquina virtual comience solo a 64bits. De otra manera, es simple, no comenzar. No es amistoso, pero hace el trabajo. En el modo de consola de impresión:

Error: This Java instance does not support a 32-bit JVM. 
Please install the desired version. 

-d64 está soportado desde 1.5.0

+1

NO. Use "-d64" (-D64 es un error en la documentación de Oracle, -D en mayúsculas se usa para definir una variable de entorno) para pasarlo como una opción de JVM, páselo como "-J-d64" –

+0

-d64 y -D64 tiene un significado diferente, porque distingue entre mayúsculas y minúsculas. –

0

Si utiliza un navegador de 64 bits se utiliza la JVM de 64 bits. Si usa un navegador de 32 bits (que es el predeterminado para la mayoría de los navegadores hoy en día) se usa la JVM de 32 bits. Por ejemplo, Firefox y Chrome solo tienen versiones de 32 bits (por supuesto, hay versiones de test/develop pero no hay nada oficial). Microsofts IE es una de las pocas versiones de offering.

No puede asegurarse de que jnlp se ejecute en el entorno de 64 Bits. Sin embargo se puede asegurar en su código del applet, es decir se inició en el entorno adecuado:

String architecture = System.getProperty("os.arch"); 

if(architecture.equals("i386") || architecture.equals("i686")){ 
architecture = "x86"; 
} 
else if(architecture.equals("amd64") || architecture.equals("universal")){ 
architecture = "x86_64"; 
} 
Cuestiones relacionadas