3

我在 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.

有什么办法可以将默认设置更改为客户端?

4

3 回答 3

9

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

-client KNOWN
-server KNOWN

将客户端定义为默认值。

-server KNOWN
-client KNOWN

将服务器设置为默认值。

来源: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


您可以jvm.cfg使用 command 从命令行 (Terminal.app)找到您的$ locate /jvm.cfg。您可能需要先使用以下命令更新您的定位数据库:$ sudo /usr/libexec/locate.updatedb

于 2012-06-24T08:31:26.660 回答
1

文档

注意:对于 J2SE 5.0,服务器级机器的定义是具有至少 2 个 CPU 和至少 2GB 物理内存的机器。

所以似乎没有任何方法可以改变服务器级机器检测技术,我猜-client如果你的机器上需要它,你将不得不坚持传递 VM 参数。

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

于 2012-06-24T07:17:53.440 回答
1

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

  • -client选项将使 VM 以客户端模式启动。在这种模式下,启动会快得多。
  • -server选项将使VM以服务器模式启动。启动会慢一些,但从长远来看,它会执行得更快。

有关这两种模式差异的更多详细信息,请参阅此问题

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

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

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

于 2012-06-24T08:54:22.370 回答