Java "Server-Class" 機器檢測

 在J2SE5.0中,當一個java應用程序啓動時,java launcher將試圖檢測當前運行的應用程序是否運行在一個"server-class"類型的機器。如果是"server-class"類型,則使用 Java HotSpot Server虛擬機(server VM)代替Java HotSpot Client(client VM)。它的目的是在你沒有指定虛擬機啓動類型選項的情況下提高應用程序執行性能。通常,server類型的虛擬機啓動速度要比client類型的虛擬機 慢,但它在運行時具有更快的速度。


注意: 對於J2SE 5.0,判斷是否是"server-class"類型機器的標準是一臺機器至少有2個cpu,並且至少是2G以上的物理內存。


在J2SE 5.0裏,server-class檢測發生在既沒有指定-server又沒有指定-client虛擬機啓動參數,並且應用程序運行在基於i586或者 Sparc 32位機器的Solaris或Linux操作系統情況下。如下表顯示的那樣,i586機器的Microsoft Windows平臺將不進行server-class檢查(也就是它默認情況下不是將機器當作server-class類型的機器),它默認就是使用 client VM。其餘Sun-supported平臺只採用server VM。

平臺
默認VM
硬件體系 操作系統
client VM
如果是 server-class則server VM;
否則client VM
server VM
SPARC 32-bit Solaris
 
X
 
i586 Solaris
 
X
 
Linux
 
X
 
Microsoft Windows
X
 
 
SPARC 64-bit Solaris
 
X
AMD64 Linux
 
X
Microsoft Windows
 
X

圖例說明:   X = 默認VM      — = 對應平臺不提供client VM

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章