安装的jvm是64位还是32位

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

你可以得到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的此类属性,以便您不依赖于供应商。

在命令行中输入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位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) 

我安装了32位和64位版本的Java,但java -version只说64位服务器(混合模式)。 因此,如果您安装了多个(和以前的)Java版本,这将不起作用。

还有另一种方法来检查我刚刚意识到:对于Windows,如果你安装了32位版本,那么它将在c:\ Program Files(x86)\ java \ jre7(或者安装了Java的任何版本)。 我看到我也有一个jre6文件夹,这有点令人不安,因为我以为我已经卸载了它。

对于64位版本,它将位于c:\ Program Files \ java(其中安装了所有64位应用程序)。