在 Java 中更改 JVM

OVE*_*ONE 18 java jdk openjdk jre

我最近才在wiki页面上发现了不同的 JVM,并认为我会开始修补。但是,很难找到有关如何在 Ubuntu 上配置 Java 的文档。

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

sudo update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)

然后从已安装的版本之一中进行选择。

如果我理解 JVM 是正确的(我很可能不是),您可以将 openJDK 配置为使用替代 JVM(例如 JAMVM)并以此方式运行它

jamvm -jar foo.jar
Run Code Online (Sandbox Code Playgroud)

2个问题,

1:我有 JVM 的概念吗?就像,这可能吗?

2:如果是这样,我如何配置 JVM 并将默认值切换到我选择的 JVM?

OVE*_*ONE 18

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

选择您的 JRE

要选择您的 JRE,请使用

sudo update-alternatives --config java
Run Code Online (Sandbox Code Playgroud)

这将提供类似于以下输出的内容。

  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
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过编号选择来选择所需的 Java 运行时。


选择你的JVM

Sun/Oracle 有两个 JVM 选择,-server 和 -client。如果您选择 OpenJDK 作为 Java 运行时环境,您还有其他选项。

当您java在没有其他参数的情况下输入终端时,帮助会列出几个可选的 VM。我不确定哪些是 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
Run Code Online (Sandbox Code Playgroud)

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


设置你的记忆

最后,如何设置Java的内存(只是因为)

java -Xmx1024m -Xms128m 'your other parameters here'
Run Code Online (Sandbox Code Playgroud)

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

就这样。如果有人对 Ubuntu 有额外的 Java 调整,请将它们留在评论中,我会添加它们。