当没有指定-d32或-d64之类的选项时,64位JVM是否会以64位模式运行

Twa*_*ood 14 java jvm

我在64位Centos机器上安装了64位Java.我的查询是,如果我不指定-d64选项,即使没有安装32位JVM,JVM也会以32位模式运行?

如果我们可以将-d64选项与"javac"一起使用,我也有点好奇.如果是,那么它意味着什么或者它可以在哪里使用?我在阅读这篇文章时遇到过这个问题.

谢谢

Ada*_*cin 2

从您链接到的 Oracle 文档:

如何在 32 位和 64 位操作之间进行选择?默认值是什么?

Java 启动器中添加了选项 -d32 和 -d64,以指定程序是在 32 位还是 64 位环境中运行。在 Solaris 上,它们分别对应于 ILP32 和 LP64 数据模型。由于 Solaris 在同一 Java 安装中包含 32 位和 64 位 J2SE 实现,因此您可以指定任一版本。 如果 -d32 和 -d64 均未指定,则默认在 32 位环境中运行。
其他 Java 命令(javac、javadoc 等)很少需要在 64 位环境中执行。然而,-d32/-d64 选项可以传递给这些命令,然后使用已建立的 -J 前缀选项(例如:-J-d64)传递给 Java 启动器。
所有其他平台(Windows 和 Linux)都包含单独的 32 位和 64 位安装包。如果系统上安装了这两个软件包,则可以通过将适当的“bin”目录添加到路径来选择其中一个。为了保持一致性,Linux 上的 Java 实现接受 -d64 选项。

(强调我的)

因此,根据您链接到的文档,默认情况下是在 32 位 JRE 中运行,并且可以通过传递而-J-d64不是简单地在 64 位 JRE 中运行 javac -d64

但是,请注意,该文档还指出它适用于 Java 1.4,而没有提及更新版本的 Java。