当服务器VM是默认选项时,为什么有-server选项?

Chi*_*f A 6 java jvm

java命令的帮助菜单说该-server选项是选择"服务器"VM.它还声明'server'是默认选项.为什么这么多余?

编辑:

如果有任何帮助,"java -version"会产生:

java version "1.8.0_191"
Java(TM) SE Runtime Environment (buil 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
Run Code Online (Sandbox Code Playgroud)

Eug*_*ene 7

-client并在现代JVM上-server忽略,就这么简单。有两种JIT编译器 C1C2,但也有5 ,整个荣耀所有的细节都在这里的评论。

使用这些标志来控制如何C1以及C2将采取行动-禁用与否; 现在由另外两个标志控制:XX:-TieredCompilation-XX:TieredStopAtLevel=1


Zha*_*ang 5

我不知道你的java版本,恕我直言,在java8或更早版本中,对于不同的平台(不同的架构和操作系统,甚至不同的杯核和内存),有不同的默认JVM(服务器或客户端).

这张照片取自https://docs.oracle.com/javase/8/docs/technotes/guides/vm/server-class.html,我们可以看到java6的情况.

在此输入图像描述

(注意:对于Java SE 6,服务器级计算机的定义是具有至少2个CPU和至少2GB物理内存的计算机.)

更新:

我只能确认这些选项也是由java8(1.8.0_121)提供的.对java9或更高版本不确定.