【发布时间】:2009-09-22 11:38:39
【问题描述】:
我找不到任何关于在启动 sun HotSpot JVM 时传递 -server 选项的确切效果的明确文档。
谁能总结一下它的作用?
【问题讨论】:
标签: java sun jvm-hotspot
我找不到任何关于在启动 sun HotSpot JVM 时传递 -server 选项的确切效果的明确文档。
谁能总结一下它的作用?
【问题讨论】:
标签: java sun jvm-hotspot
使用 -server,JVM 将更积极地编译热点(即经常执行的部分代码),因此编译器将花费更多时间来编译。这不是问题,因为您仅在进程运行较长时间(例如在服务器上)时才使用此选项。
使用 -client 时,完成的优化更轻松、更快捷,因为您不希望在运行客户端应用程序时编译器启动时出现长时间的停顿。
【讨论】:
我似乎记得读过它预先做了更多的工作,以便长时间运行的程序性能更好,但代价是启动速度较慢。
另见:What's the difference between the -client and -server systems?
【讨论】:
在某些平台上,默认设置 -server 标志。
即如果它的 Linux/Solaris 具有超过 2GB 的内存和超过 2 个处理器。如您所知 - 这些要求是很久以前定义的。我现在有比这更好的笔记本电脑...!
我猜他们从未在 Windows 上将其设置为默认值,因为他们认为 Windows 只会运行客户端 java 而 *nix 会运行服务器 java。
直到最近,我们在 Windows Server 上运行了我们长期运行的服务器进程,并且改变标志产生了明显的不同。
【讨论】: