2011-12-14 11 views
7

Mam aplet JNLP uruchamiany na 64-bitowym komputerze z zainstalowaną JVM 32-bitową i 64-bitową. JNLP musi działać na 64-bitowej maszynie JVM, aby wykonać ją poprawnie. Czy istnieje sposób na wymuszenie użycia 64-bitowej maszyny JVM?Jak zapewnić, że jnlp jest uruchamiany na 64-bitowym jvm

+0

* „The JNLP należy uruchomić na JVM 64-bitowym, aby wykonać poprawnie”. * Dlaczego? –

+1

@Andrew, pamięć! to jest trudne. Być może natywne biblioteki itp. – bestsss

+0

@bestsss Dzięki, ale nie prosiłem o spekulacje przechodniów. Chcę konkretnej odpowiedzi z PO. –

Odpowiedz

1

Użyj opcji VM, aby umożliwić maszynie wirtualnej uruchamianie tylko przy 64 bitach. Innymi słowy to nie jest proste. Nie do przyjaźni, ale do pracy. W trybie konsoli druku:

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

-d64 jest obsługiwany od 1.5.0

+1

NIE. Użyj "-d64" (-D64 jest błędem w dokumentacji Oracle, -D wielkimi literami służy do definiowania zmiennej środowiskowej) , aby przekazać go jako opcję JVM, przekazać jako "-J-d64" –

+0

-d64 i -D64 ma inne znaczenie, ponieważ rozróżnia małe i wielkie litery. –

0

Jeśli używasz przeglądarki 64-bitową wtedy 64Bit JVM jest używany. Jeśli korzystasz z przeglądarki 32-bitowej (która jest obecnie domyślna dla większości przeglądarek), używana jest 32-bitowa maszyna JVM. Np. firefox i chrome mają tylko wersje 32-bitowe (oczywiście są tam wersje /develop, ale nic oficjalnego). Microsoft IE jest jedną z niewielu wersji: offering.

Nie można zagwarantować, że program jnlp będzie działał w środowisku 64-bitowym. Jednakże można zapewnić w kodzie apletu, który jest rozpoczęto w odpowiednim środowisku:

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"; 
} 
Powiązane problemy