将默认Java VM更改为客户端
我在Fedora 17上安装了Oracle的Java,我注意到在使用java -version
命令时会返回它
java version "1.7.0_05" Java(TM) SE Runtime Environment (build 1.7.0_05-b05) Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
Java似乎默认运行-server选项。 帮助文本出现了
-server to select the "server" VM The default VM is server, because you are running on a server-class machine.
有没有办法将默认值更改为客户端?
默认设置在文件jvm.cfg中定义。 像这样的内容
-client KNOWN -server KNOWN
将客户端定义为默认值。
-server KNOWN -client KNOWN
将服务器设置为默认值。
资料来源: http://www.rgagnon.com/javadetails/java-0566.html
jvm.cfg的位置
未知的Mac OS X版本:
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/jre/lib/jvm.cfg
没有安装JDK的Mac OS X版本10.9:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/jvm.cfg
已安装JDK版本1.8.0_u92的Mac OS X版本10.9:
/Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home/jre/lib/jvm.cfg
您可以使用命令$ locate /jvm.cfg
从命令行(Terminal.app) $ locate /jvm.cfg
。 您可能需要首先使用以下命令更新您的locate数据库: $ sudo /usr/libexec/locate.updatedb
来自文档 :
注意:对于J2SE 5.0,服务器级计算机的定义是具有至少2个CPU和至少2GB物理内存的计算机。
所以似乎没有办法改变服务器级机器检测技术,我猜你必须坚持传递-client
VM参数,如果你需要在你的机器上。
另外值得注意的是,此页面适用于Java 5,因此Java 6及更高版本可能会有所不同。
从Java 5开始,您可以将其指定为JVM的选项:
-
-client
选项将使VM以客户端模式启动。 在此模式下,启动速度会快得多。 -
-server
选项将使VM以服务器模式启动。 启动速度会慢一些,但从长远来看,它的执行速度会更快。
有关2种模式的差异的更多详细信息,请参阅此问题 。
如果未指定这些选项,VM将检查您是否至少有2个CPU和至少2 GB RAM。 如果这样做,那么它将以服务器模式启动。
您可以看到有关如何做出这些决策的表格:
- 这里是Java 5
- 这里是Java 6和
- 这里是Java 7
仅供参考:他们都是一样的。