web-dev-qa-db-ja.com

インストールされているjvmは64ビットまたは32ビットです

インストールされているJavaが64 bitであるか32 bitであるか)を識別するにはどうすればよいですか?

15

os.Archプロパティを取得できます。

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

これにより、OSのアーキテクチャがわかりますが、VMのアーキテクチャとは異なります。

SunのJREには、役立つ可能性のある次のプロパティ(私のマシンからの値)があります。

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

ただし、これらは他のベンダーのVMでは機能しないことに注意してください。したがって、ベンダーに依存しないように、他のVMのそのようなプロパティも検索することをお勧めします。

4
Bozho

コマンドラインでJava -version)と入力します。64ビットの場合はそのように表示され、そうでない場合は32ビットになります。

例えば。

64ビットOracle/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ビットOracle/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) Client VM (build 16.3-b01-279, mixed mode, sharing)

32ビットOracle/Mac OS X(サーバー)

$ 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)

64ビットOpenJDKUbuntu

$ 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)

32ビットSoylatteMac 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)

32ビットOpenJDKMac 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ビットIBMLinux

$ 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

32ビットバージョンと64ビットバージョンの両方のJavaがインストールされていますが、Java -versionは64ビットサーバー(混合モード)のみを示します)。 Javaの複数の(および以前の)バージョンがインストールされている場合は機能しません。

私が今気付いた別のチェック方法があります。Windowsの場合、32ビットバージョンがインストールされている場合は、c:\ Program Files(x86)\ Java\jre7(またはJavaがインストールされています)jre6フォルダーもありますが、既にアンインストールしたと思っていたので少し戸惑いました。

また、64ビットバージョンの場合は、c:\ Program Files\Java(すべての64ビットアプリケーションがインストールされている場所)にあります。

0
gary