jvm client模式和server模式

<a href="http://rizhibao.com" name="rizhi1410bbf4a601264e3f1d4d22c9e390ddbao" >日誌寶-在線日誌分析平臺</a>java

 

主要區別:client模式啓動快,運行速度慢(啓動快多是因爲數據共享),HotSpot VM的client模式實現了數據共享。Server 模式 啓動慢,執行速度快。默認狀況下,啓動時JVM會經過檢測主機是否爲服務器來斷定使用client模式仍是server模式。client模式適用於GUI的開發,Server模式適用於Java Serverc++

 

下面是51CTO的一篇文章服務器

這裏向你們描述一下JVM client模式和Server模式二者的區別和聯繫,JVM若是不顯式指定是-Server模式仍是-client模式,JVM可以根據下列原則進行自動判斷(適用於Java5版本或者Java以上版本)。jvm

JVM client模式和Server模式性能

JVM Server模式與client模式啓動,最主要的差異在於:-Server模式啓動時,速度較慢,可是一旦運行起來後,性能將會有很大的提高。JVM若是不顯式指定是-Server模式仍是-client模式,JVM可以根據下列原則進行自動判斷(適用於Java5版本或者Java以上版本)。測試

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

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

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

下面是另外兩個對比圖:htm

  

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默認工做在什麼模式。

相關文章
相關標籤/搜索