Comment puis-je identifier si la version installée de Java est 64 bit
ou 32 bit
?
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.
Entrez Java -version sur la ligne de commande. Si c'est 64 bits, ça le dira, sinon c'est 32 bits.
Par exemple.
$ 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)
$ 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)
$ 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)
$ 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)
$ 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)
$ 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)
$ 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)
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).