02JVM运行模式

区别:
(1)-Server模式启动速度较慢,但是一旦启动运行后性能会有很大的提升;
(2)JVM工作在Server模式可以大大提升性能,但应用启动会比client模式慢大概10%;
(3)当该参数不指定时,虚拟机启动检测主机是否为服务器,如果是则以Server模式启动,否则以client模式启动,J2SE5.0检测的根据是至少2个cpu和最低2G内存。
(4)JVM Server模式下Method call性能高于client模式10倍,Hash性能高于client模式2倍左右。
(5)当JVM用于启动GUI界面的交互应用时适合于使用client模式,当JVM用于运行服务器后台程序时建议用Server模式。
(6)JVM在client模式默认-Xms是1M,-Xmx是64M;JVM在Server模式默认-Xms是128M,-Xmx是1024M。我们可以通过运行:java -version来查看jvm默认工作在什么模式。
(7)位置:jre/bin/server   jre/bin/client 两个jvm文件大小都不一样。
(8)如果没有指定JVM版本,会自动根据OS和硬件环境进行识别。windows下默认是client,Unix下默认Server
Server-Class Machine Detection,官方描述参考:http://download.oracle.com/javase/1.5.0/docs/guide/vm/server-class.html
 
其中一条Note: For J2SE 5.0, the definition of a server-class machine is one with at least 2 CPUs and at least 2GB of physical memory.

可以通过 java -version 查看运行模式。

各种性能对比图:

02JVM运行模式

02JVM运行模式

02JVM运行模式

参考资料:

http://developer.51cto.com/art/201009/228035.htm

http://blog.csdn.net/fbysss/article/details/5815745

jvm

相关推荐