JVM server 与client 运行模式
1.概述
JVM有两种运行模式Server与Client。两种模式的区别在于,Client模式启动速度较快,Server模式启动较慢;但是启动进入稳定期长期运行之后Server模式的程序运行速度比Client要快很多。这是因为Server模式启动的JVM采用的是重量级的虚拟机,对程序采用了更多的优化;而Client模式启动的JVM采用的是轻量级的虚拟机。所以Server启动慢,但稳定后速度比Client远远要快。
2.怎么判断JVM是运行在Client模式还是Server模式
java -version 可以直接查看出你使用的是client还是 server
2.1 演示环境
windows 10 企业版 2016 长期服务版
JDK_1.8.0_171_x64
JDK_1.8.0_201_x32
2.2 Server 模式
C:\Users\Administrator>java -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
2.3 Client 模式
C:\Program Files (x86)\Java\jdk1.8.0_201\bin>java -version
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) Client VM (build 25.201-b09, mixed mode, sharing)
2.4 如何切换client与server模式
JVM启动时采用哪种模式是在名为jvm.cfg的配置文件中配置的。
1. 在32位JDK中,jvm.cfg位置为:JAVA_HOME/jre/lib/i386/jvm.cfg;
2.在64位JDK中,jvm.cfg位置为:JAVA_HOME/jre/lib/amd64/jvm.cfg。
jvm.cfg中配置:(此时为client模式)
-client KNOWN
-server KNOWN
jvm.cfg中配置:(此时为Server模式)
#-client KNOWN
-server KNOWN
3.注意事项
如果是64位的jdk,只能运行在Server模式下。