安装的 jvm 是 64 位或 32 位

2022-09-03 09:38:39

如何识别已安装的 Java 版本是 还是 ?64 bit32 bit


答案 1

在命令行上输入 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 (server)

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

32 位 Soylatte 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)

32 位 OpenJDK 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 位 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)

答案 2

您可以获得以下属性:os.arch

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

这将告诉您操作系统的体系结构,因此不完全是 VM 的体系结构。

Sun 的 JRE 具有以下属性(来自我的计算机的值),这些属性可能很有用:

sun.arch.data.model : 32
sun.cpu.isalist : pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86

但请记住,这些不适用于其他供应商的 VM。因此,您可能还希望查找其他 VM 的此类属性,以便不依赖于供应商。


推荐