2011-08-31 170 views

回答

3

Frequently Asked Questions About the Java HotSpot VM

這兩個系統是不同的二進制文件。它們本質上是兩個連接到相同運行時系統的不同編譯器(JIT)。 客戶端系統適用於需要快速啓動 次或小佔用空間的應用程序,服務器系統最適合於整體性能最重要的應用程序。在通常情況下,客戶端系統更適合於交互式應用,例如圖形用戶界面。其他一些差異包括 編譯策略,堆默認值和內聯策略。

2

一個區別,我知道的是有關JIT (Just In Time)編譯其中在JVM運行時代碼識別熱點和基於該字節碼轉換成高度優化的本地代碼。

對於-client標誌,JIT'ing的執行量少於-server標誌執行的量。這是因爲客戶是通常需要低啓動時間的交互式應用程序,而JIT會導致一些啓動延遲。您可以在這裏閱讀更多關於JIT的信息:http://en.wikipedia.org/wiki/Just-in-time_compilation

另外,我認爲(不是很確定)在這些標誌的變化中選擇的垃圾收集默認值會有一些差異。