什么是JVM -server参数?

Sae*_*fam 27 java jvm

我在http://shootout.alioth.debian.org/中看到了Java -server 用于编程语言基准测试.我知道-server是运行JVM的参数.我想知道:

当我们使用-server参数时它是如何工作的?我们可以将此参数用于java桌面应用程序吗?

谢谢.

pay*_*yne 25

它只选择"服务器热点虚拟机".参见文档(Solaris/Linux操作系统)进行java.

根据维基百科:

Sun的JRE具有2个虚拟机,一个名为Client,另一个名为Server.客户端版本已调整为快速加载.它利用解释,只编译经常运行的方法.服务器版本加载速度更慢,更加努力地生成高度优化的JIT编译,从而产生更高的性能.

请参阅:http://en.wikipedia.org/wiki/HotSpot


Eri*_*rik 13

-server标志将向启动器指示hw是服务器类机器,对于java 6,这意味着至少2个核心和至少2 GB物理内存(即这些天的大多数机器).在服务器类机器上,deafult选择是

  • 吞吐量gc.
  • 初始堆大小为1/64的phys mem,最大为1 GB
  • 最大堆大小为phys mem的1/4,最大为1 GB.
  • 服务器运行时编译器.

请注意,在32位窗口上没有服务器vm,因此客户端vm是默认值.在其他32位机器上,如果hw是服务器类,则选择服务器vm,否则它是客户端.在64位计算机上没有客户端虚拟机,因此服务器虚拟机是默认的.

指向热点常见问题解答的链接:HotSpot