0

我找不到任何关于-server在启动 sun HotSpot JVM 时传递该选项的确切效果的明确文档。

任何人都可以总结它的作用吗?

4

3 回答 3

5

使用 -server,JVM 将更积极地编译热点(即经常执行的部分代码),因此编译器将花费更多时间来完成此操作。这不是问题,因为您仅在您的进程运行较长时间(例如在服务器上)时才使用此选项。

使用 -client 时,完成的优化会更轻松、更快,因为在运行客户端应用程序时编译器启动时您不希望长时间停顿。

于 2009-09-22T11:52:10.943 回答
3

我似乎记得读过它在前面做了更多的工作,以便长时间运行的程序性能更好,但代价是启动速度较慢。

另请参阅:-client 和 -server 系统有什么区别?

于 2009-09-22T11:50:22.503 回答
0

在某些平台上,默认设置 -server 标志。

即,如果它的 Linux/Solaris 具有超过 2GB 的内存和超过 2 个处理器。如您所知 - 这些要求是很久以前定义的。我有比现在更好的笔记本电脑......!

我猜他们从未在 Windows 上将其设置为默认值,因为他们假设 Windows 只会运行客户端 java 而 *nix 会运行服务器 java。

直到最近,我们在 Windows Server 上运行了我们长期运行的服务器进程,并且打开标志产生了明显的不同。

于 2009-09-22T15:00:25.047 回答