在Java中更改JVM


18

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

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

sudo update-alternatives --config java

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

如果我了解JVM的正确性(我很可能不是这样),则可以将openJDK配置为使用备用JVM(例如JAMVM)并按如下方式运行它

jamvm -jar foo.jar

2个问题,

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

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


太好了,为您的问题添加一个很好的答案(您可以自己回答)并获得更多投票!
布鲁诺·佩雷拉

@BrunoPereira完成!希望能涵盖一堆。
OVERTONE'2

Answers:


18

随意将其用作在运行时修补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在没有其他参数的情况下键入终端时,帮助会列出几个可选的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

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


设置你的记忆

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

java -Xmx1024m -Xms128m 'your other parameters here'

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

就这样。如果有人对Ubuntu有其他Java调整,则将其保留在注释中,然后我将其添加。


$ JAVA_HOME / bin和$ JAVA_HOME / jre / bin中大约有47个可执行文件,这些文件会哭泣以寻找脚本来更新替代系统中的所有条目。请参阅/usr/lib/jvm/.java*.jinfo文件。
用户未知

如何设置默认的JVM?据我所知,-server的启动时间很长,那么-client为什么不是默认的用户安装程序?
dhardy

有没有一种方法可以实际更改默认值,还是必须每次(或在每个单独的启动脚本中)显式设置JVM和内存限制?
2014年

0

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

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

jvm.cfg文件内最上面的-jvmname KNOWN行确定默认的JVM。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.