我找不到任何关于在启动sun HotSpot JVM时传递-server选项的确切效果的明确文档。
有人能总结一下它的作用吗?
发布于 2009-09-22 11:52:11
使用-server,JVM将更积极地编译热点(即经常执行的代码部分),因此编译器将花费更多时间来执行此操作。这不是问题,因为只有当您的进程运行较长时间(例如在服务器上)时才使用此选项。
在使用-client时,完成的优化要轻得多,速度也快得多,因为在运行客户端应用程序时,您不希望在编译器启动时出现冗长的空洞。
发布于 2009-09-22 11:50:23
我似乎记得我读到过,它提前做了更多的工作,这样长时间运行的程序表现得更好,但代价是启动速度变慢。
另请参阅:What's the difference between the -client and -server systems?
发布于 2009-09-22 15:00:25
在某些平台上,默认情况下会设置-server标志。
即如果它是Linux/Solaris,并且具有2 2GB以上的内存和2个以上的处理器。正如你所说的--这些需求很久以前就定义好了。我现在有比这更好的笔记本电脑了…!
我猜他们从来没有将它设置为Windows的默认设置,因为他们假设Windows将只运行客户端java,而*nix将运行服务器java。
直到最近,我们在Windows server上运行我们的长时间运行的服务器进程,并且改变标志产生了显着的不同。
https://stackoverflow.com/questions/1459548
复制相似问题