什么是JVM -server参数?

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

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

谢谢。

它只选择“服务器热点VM”。 请参阅java 文档(Solaris / Linux) 。

根据维基百科:

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

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

-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

您可以查看此博客以获取更多信息: http : //victorpillac.wordpress.com/2011/09/11/notes-on-the-java-server-flag/

基本上在与32位窗口不同的最新机器上,标志将默认打开。 对于32位窗口,您需要下载JDK才能获得服务器系统。

有关服务器虚拟机的更多信息: http : //download.oracle.com/javase/1.3/docs/guide/performance/hotspot.html#server