-Spot选项对HotSpot JVM的影响是什么?

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

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

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

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

我似乎记得读到它预先做了更多工作,以便长时间运行的程序表现更好,但代价是启动速度较慢。

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

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

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

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

直到最近,我们在Windows Server上运行了长时间运行的服务器进程,并使标志变得明显不同。