在 Java 中更改 JVM

在 Java 中更改 JVM

我最近才发现维基百科页面,我想开始尝试一下。但是很难找到有关如何在 Ubuntu 上配置 Java 的文档。

假设我想更改正在使用的 JRE 或 JDK,我可以打开终端并说

sudo update-alternatives --config java

然后从已安装的版本中选择一个。

如果我理解 JVM 的正确性(其实我可能不是),你可以配置 openJDK 来使用其他 JVM(例如 JAMVM)并以此方式运行它

jamvm -jar foo.jar

2 个问题,

1:我是否了解 JVM 的概念?这可能吗?

2:如果是的话,我该如何配置 JVM 并将默认值切换为我选择的 JVM?

答案1

请随意使用它作为在运行时修改 Java 的参考。

选择您的 JRE

要选择您的 JRE,请使用

sudo update-alternatives --config java

这将产生类似以下的输出。

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      auto mode
* 1            /usr/lib/jvm/java-6-openjdk/jre/bin/java         1061      manual mode
  2            /usr/lib/jvm/java-6-sun/jre/bin/java             63        manual mode
  3            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

然后您可以通过数字选择来选择您想要的 Java 运行时。


选择您的 JVM

Sun/Oracle 有两个 JVM 选择,-server 和 -client。如果您选择 OpenJDK 作为 Java 运行时环境,则您有更多选择。

当你java在终端中输入没有其他参数的内容时,帮助会列出几个可选的虚拟机。我不确定 OpenJDK 附带哪些虚拟机,但 3 个流行的虚拟机是 JamVM、Zero 和 Cacao

要使用这些,只需输入

java -jamvm 'your other parameters here'
java -cacao 'your other parameters here'
java -zero 'your other parameters here'
java -server 'your other parameters here

-server VM 通常是默认的。您也可以指定-client,但在 64 位 IcedTea6 中,它似乎运行与 -server 相同的版本。很可能还有其他版本,但我发现默认选项响应最快。


设置内存

最后Java的内存该如何设置(仅供参考)

java -Xmx1024m -Xms128m 'your other parameters here'

这将 Java 程序允许的内存限制为最大 1024 MB,并将其初始内存大小设置为 128 MB。这是定义最低系统要求的好方法。Java 6 手册页java命令描述了这些选项和其他选项。

就这些。如果有人有针对 Ubuntu 的其他 Java 调整,请将其留在评论中,我会添加它们。

答案2

要在 OpenJDK 安装中设置默认 JVM,您需要编辑位于 /usr/lib/jvm/java- 中的 jvm.cfg 配置文件版本-openjdk-/jre/lib//jvm.cfg

Ubuntu 根据 OpenJDK 版本在 /etc/ 目录中公开 jvm.cfg 文件。/etc/java-6-openjdk/jvm-.cfg 或 /etc/java-7-openjdk/jvm-配置文件

最顶部——虚拟机名称jvm.cfg 文件内的 KNOWN 行确定默认 JVM。

没有可用的配置工具,因此您必须手动查找并编辑这些文件。

相关内容