2013-07-12 30 views
2

Oracle documentation說:使用Java -server選項

-server

選擇Java HotSpot的服務器VM。在支持64位的jdk上,僅支持 Java HotSpot Server虛擬機,因此-server選項是隱含的。 這可能會在未來版本中發生變化。

對於默認VM選擇,請參見服務器級計算機檢測

,因爲它是隱含的64位JDK,我們不需要添加此參數運行命令java同時,對嗎?

更多文檔here表示服務器級機器是至少具有2個CPU和至少2GB物理內存的機器。這是否仍然如此/適用於JDK7u25?

從文檔中可以明白,如果-server選項與服務器級機器一起使用,它會提高性能,我想知道是否還有其他特定的優勢?

回答

4

因爲它隱含在64位JDK中,我們不需要在運行命令java時添加這個參數,對嗎?

正確。如果您運行的是64位JVM,那麼如果用戶通過-server選項,則不會產生任何影響。

此處的進一步文檔說服務器級機器至少有2個CPU和至少2GB的物理內存。這是否仍然如此/適用於JDK7u25?

根據您的第一個關於64位JVM的報價,此條件僅適用於32位運行時。

從文檔中可以看出,如果-server選項與服務器級機器一起使用,它會提高性能,我想知道是否還有其他特定的優勢?

當你的第一個報價提到,-server使的Java HotSpot的服務器VM。這意味着JVM將進行更積極的實時(JIT)編譯優化。對於非服務器級機器,這是禁用的,因爲進行優化可能會使程序過於緩慢,但對於現代機器,您通常會有內核可用,因此優化JIT可能會在您的程序插入時在其自己的線程中停止運行。

+0

感謝您的回覆。那麼,您是否認爲只有一個CPU和少於2GB的物理內存才能滿足作爲服務器級機器的標準?如果是,它在哪裏正式記錄? – ParagJ

+0

@ParagJ - Nope,我的意思是_this標準只能用於32位運行時._ 64位JVM僅支持Java HotSpot Server VM的事實意味着_only選項_,所以即使機器可能不是「服務器類」它將被啓用。我認爲他們背後的理由很可能是你很難找到只有一個內核(「cpu」)和少於2GB內存的64位機器。 – DaoWen