我們把jdk安裝完成后,在命名行輸入java -version
不僅可以看到jdk版本相關信息,還會看到類似與 Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode) 這樣的信息。
其中有個Server VM (build 25.31-b07, mixed mode)其實代表了JVM的Server模式了。
當然JVM還有一個Client模式。
JVM Server模式與client模式啟動的差別?
最主要的差別在於:-Server模式啟動時,速度較慢,但是一旦運行起來后,性能將會有很大的提升.原因是:
當虛擬機運行在-client模式的時候,使用的是一個代號為C1的輕量級編譯器, 而-server模式啟動的虛擬機采用相對重量級,代號為C2的編譯器. C2比C1編譯器編譯的相對徹底,,服務起來之后,性能更高.
所以通常用於做服務器的時候我們用服務端模式,如果你的電腦只是運行一下java程序,就客戶端模式就可以了。當然這些都是我們做程序優化程序才需要這些東西的,普通人並不關注這些專業的東西了。其實服務器模式即使編譯更徹底,然后垃圾回收優化更好,這當然吃的內存要多點相對於客戶端模式。
怎么修改JVM的啟動模式呢?
64位系統默認在 JAVA_HOME/jre/lib/amd64/jvm.cfg
32在目錄JAVA_HOME/jre/lib/i386/jvm.cfg
我的配置是這樣的,所以是已服務器模式啟動的,當然,你想換成client模式的話,把兩個對調一下就可以了。
#
-server KNOWN
-client IGNORE
當然,我們做開發,安裝jdk的時候直接安裝服務器模式就沒有是很好的習慣了。。。。。。
參考: https://zhidao.baidu.com/question/1703232626938481420.html