确定JRE架构 32位还是64位

13

我想知道我的JRE是32位还是64位。

是的,我尝试过java -version / -showversion / -fullversion,但它没有提供有用的信息(至少对我来说不是)。

当我运行java -version时,我得到的结果如下:

java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode)

我只能访问压缩的JRE二进制文件夹,已经安装和设置了不同的JRE,这不是我想要检查版本的那个。

有什么建议吗?


4
如果是64位,那么它就会标明64位,所以它是32位。 - assylias
3
已在32位和64位的JRE上尝试。32位的带有“Java HotSpot(TM) Client VM”,而64位的带有“Java HotSpot(TM) 64-Bit Server VM”。 - verdesmarald
你可以在这个帖子中找到答案 https://dev59.com/D3I95IYBdhLWcg3w_zQN - Royston Pinto
3个回答

17
System.getProperty("sun.arch.data.model");

1
我成功检查了sun.arch.data.model,它对我有用!谢谢Andrew! - marko
1
谢谢Andrew。我正是在寻找那个命令。 - Alucard

6
如果你想通过命令行完成这个任务,file 命令可以帮助你:
$ cat `which java` | file -
/dev/stdin: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for
GNU/Linux 2.6.32, BuildID[sha1]=440c433f29884a88f874e6d8260f156f4b352818,
stripped

我使用cat命令,因为在我的情况下java是一个符号链接。


0
当我在我的64位机器上运行命令时,我得到了以下内容。java -version 命令总是返回环境属性中设置的版本或从JRE中选择的版本。你的机器上可能还安装了其他版本。可以查看 "arch"。
C:\Users\nyera>java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)

3
我之前说过,我尝试运行-version指令,但它没有给我那个信息。 - marko

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接