Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将默认Java虚拟机更改为客户端_Java_Jvm_Client_Fedora - Fatal编程技术网

将默认Java虚拟机更改为客户端

将默认Java虚拟机更改为客户端,java,jvm,client,fedora,Java,Jvm,Client,Fedora,我在Fedora17上安装了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

我在Fedora17上安装了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.
有没有办法将默认设置更改为客户端?

从:

注意:对于J2SE5.0,服务器类机器的定义是 具有至少2个CPU和至少2GB的物理内存

因此,似乎没有任何方法可以改变服务器类机器检测技术,我猜如果您的机器上需要,您必须坚持传递
-client
VM参数


另外值得注意的是,此页面适用于Java 5,因此与Java 6及更高版本可能有所不同。

默认设置在文件jvm.cfg中定义。像这样的内容

-client KNOWN
-server KNOWN
将客户端定义为默认值

-server KNOWN
-client KNOWN
将服务器设置为默认值

-server KNOWN
-client KNOWN
资料来源:

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)找到您的
jvm.cfg
。您可能需要首先使用命令更新locate数据库:
$sudo/usr/libexec/locate.updatedb

从Java 5开始,您可以将其指定为JVM的一个选项:

  • -client
    选项将使VM在客户端模式下启动。在这种模式下,启动速度会快得多
  • -server
    选项将使VM在服务器模式下启动。启动速度会较慢,但从长远来看,它的执行速度会更快
有关这两种模式的差异的更多详细信息,请参阅

如果未指定这些选项,VM将检查您是否至少有2个CPU和2 GB RAM。如果您这样做,那么它将在服务器模式下启动

您可以查看有关如何做出这些决策的表格:


仅供参考:它们都是一样的。

此外,问题是为什么要使用客户端虚拟机?@ThorbjørnRavnAndersen“更改默认值”意味着在不指定虚拟机的情况下更改得到的内容。@Fredrik yes。问题是为什么它是必要的或可取的。