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模式下。
发布了44 篇原创文章 · 获赞 32 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章