如何识别已安装的Java版本是64 bit
还是32 bit
?
答案 0 :(得分:32)
在命令行中输入java -version。如果它是64位,它会这样说,否则它是32位。
E.g。
$ 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)
答案 1 :(得分:4)
您可以获取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的此类属性,以便您不依赖于供应商。
答案 2 :(得分:0)
我安装了32位和64位版本的Java,但java -version只说64位服务器(混合模式)。因此,如果您安装了多个(和以前的)Java版本,这将无效。
还有另一种方法来检查我刚刚意识到:对于Windows,如果你安装了32位版本,那么它将在c:\ Program Files(x86)\ java \ jre7(或者安装了Java的任何版本) )。我看到我也有一个jre6文件夹,这有点令人不安,因为我以为我已经卸载了它。
对于64位版本,它将位于c:\ Program Files \ java(其中安装了所有64位应用程序)。