JVM client模式和Server模式的區別

來源:互聯網
上載者:User

這裡向大家描述一下JVM client模式和Server模式兩者的區別和聯絡,JVM如果不顯式指定是-Server模式還是-client模式,JVM能夠根據下列原則進行自動判斷(適用於Java5版本或者Java以上版本)。

JVM client模式和Server模式

JVM Server模式與client模式啟動,最主要的差別在於:-Server模式啟動時,速度較慢,但是一旦運行起來後,效能將會有很大的提升。JVM如果不顯式指定是-Server模式還是-client模式,JVM能夠根據下列原則進行自動判斷(適用於Java5版本或者Java以上版本)。

前段時間有個同事給我發了個java跟c++效能比較的文章,其中有個對比圖引起了我的興趣,意外的是,我感興趣的不是java和c++的對比,而是java -Server模式和java -client模式的對比。從來沒想到兩者間的效能有如此巨大的差別。而在後來自己的親身測試中發現確實如此。

下面是我看到的那個對比圖:

圖中最顯著的就是JVM client模式和Server模式關於method call的對比,那個差別不是一般的大,在後來的測試中發現,相差至少有10倍。

下面是另外兩個對比圖:

 

JVM工作在Server模式可以大大提高效能,但應用的啟動會比client模式慢大概10%。當該參數不指定時,虛擬機器啟動檢測主機是否為伺服器,如果是,則以Server模式啟動,否則以client模式啟動,J2SE5.0檢測的根據是至少2個CPU和最低2GB記憶體。

當JVM用於啟動GUI介面的互動應用時適合於使用client模式,當JVM用於運行伺服器背景程式時建議用Server模式。
JVM在client模式預設-Xms是1M,-Xmx是64M;JVM在Server模式預設-Xms是128M,-Xmx是1024M。我們可以通過運行:java -version來查看jvm預設工作在什麼模式。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.