web-dev-qa-db-fra.com

Jvm installé est de 64 ou 32 bits

Comment puis-je identifier si la version installée de Java est 64 bit ou 32 bit?

15
Karthick Ragunath

Vous pouvez obtenir la propriété os.Arch:

String osArch = System.getProperty("os.Arch");

Cela vous indiquera l'architecture du système d'exploitation, donc pas exactement celle de la VM.

Les JRE de Sun ont les propriétés suivantes (valeurs de ma machine) qui peuvent être utiles:

Sun.Arch.data.model : 32
Sun.cpu.isalist : pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86

Mais gardez à l'esprit que cela ne fonctionnera pas sur les ordinateurs virtuels d'autres fournisseurs. Par conséquent, vous souhaiterez peut-être également rechercher de telles propriétés sur d'autres ordinateurs virtuels, afin que vous ne dépendiez pas du fournisseur.

4
Bozho

Entrez Java -version sur la ligne de commande. Si c'est 64 bits, ça le dira, sinon c'est 32 bits.

Par exemple.

Oracle 64 bits/Mac OS X

$ Java -version

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)

32 bits Oracle/Mac OS X (client)

$ Java -version

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
Java HotSpot(TM) Client VM (build 16.3-b01-279, mixed mode, sharing)

32 bits Oracle/Mac OS X (serveur)

$ Java -server -version

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
Java HotSpot(TM) Server VM (build 16.3-b01-279, mixed mode)

OpenJDK 64 bits Ubuntu

$ Java -version

Java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.1) (6b20-1.9.1-1ubuntu3)
OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode)

Soylatte 32 bits Mac OS X

$ Java -version

Java version "1.6.0_03-p3"
Java(TM) SE Runtime Environment (build 1.6.0_03-p3-landonf_19_aug_2008_14_55-b00)
Java HotSpot(TM) Client VM (build 1.6.0_03-p3-landonf_19_aug_2008_14_55-b00, mixed mode)

OpenJDK 32 bits Mac OS X

$ Java -version

openjdk version "1.6.0-internal"
OpenJDK Runtime Environment (build 1.6.0-internal-landonf_17_may_2009_13_58-b00)
OpenJDK Client VM (build 11.0-b17, mixed mode)

64 bits IBM Linux

$ Java -version

Java version "1.6.0"
Java(TM) SE Runtime Environment (build pxa6460sr8fp1-20100624_01(SR8 FP1))
IBM J9 VM (build 2.4, JRE 1.6.0 IBM J9 2.4 Linux AMD64-64 jvmxa6460sr8ifx-20100609_59383 (JIT enabled, AOT enabled)
32
Arjan Tijms

Les versions 32 bits et 64 bits de Java sont installées, mais la version Java ne dit que serveur 64 bits (mode mixte). Donc, cela ne fonctionnera pas si vous avez plusieurs versions (et précédentes) de Java installées.

Il y a une autre façon de vérifier que je viens de comprendre: pour Windows, si vous avez la version 32 bits installée, elle se trouvera dans c:\Program Files (x86)\Java\jre7 (ou quelle que soit la version de Java installée). Je vois que j'ai aussi un dossier jre6, ce qui est un peu déconcertant car je pensais l'avoir déjà désinstallé.

Et pour la version 64 bits, ce sera dans c:\Program Files\Java (où toutes les applications 64 bits sont installées).

0
gary