2009-09-22 61 views

回答

5

随着-server JVM将编译热点(即,常常执行的代码的部分)更积极,和作为结果,编译器会花费更多的时间这样做。这不是一个问题,因为当你的进程运行很长一段时间(例如在服务器上)时你只使用这个选项。

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

+1

因为编译器运行在不同的线程中,所以你并没有真正得到暂停。开始编译代码和可用代码之间有一段延迟。 Server HotSpot在编译之前还默认等待更长时间(因为编译需要更长时间并使用更多内存)。 – 2009-09-22 12:02:05

0

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

即,如果它的Linux/Solaris并具有超过2GB的内存和超过2个处理器。正如你所知道的那样 - 这些需求很久以前就已经定义了。我现在有更好的笔记本电脑......!

我猜他们从来没有将它设置为Windows上的默认值,因为他们认为Windows将只运行客户端Java和* nix将运行服务器Java。

直到最近我们在Windows服务器上运行了我们长时间运行的服务器进程,并且将该标志转变为明显的差异。

相关问题