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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章