jvm中啟動參數 -XX,-X,-D 的區別


啟動JVM時通過指定配置參數來指導虛擬機按照我們的要求提供服務,這一點對大多數的Java程序員來說已經是司空見慣。

配置 參數 類型 說明 舉例
-X non-standard 非標准參數。這些參數不是虛擬機規范規定的。因此,不是所有VM的實現(如:HotSpot,JRockit,J9等)都支持這些配置參數。 -Xmx、-Xms、-Xmn、-Xss
-XX not-stable 不穩定參數。這些參數是虛擬機規范中規定的。這些參數指定虛擬機實例在運行時的各種行為,從而對虛擬機的運行時性能有很大影響。 -XX:SurvivorRatio、-XX:+UseParNewGc

備注:

-X和-XX兩種參數都可能隨着JDK版本的變更而發生變化,有些參數可以能會被廢棄掉,有些參數的功能會發生改變,但是JDK官方不會通知開發者這些變化,需要使用者注意。

-XX參數被稱為不穩定參數,是因為這類參數的設置會引起JVM運行時性能上的差異,配置得當可以提高JVM性能,配置不當則會使JVM出現各種問題, 甚至造成JVM崩潰。

對於-XX類型的配置選項,虛擬機規范有一些慣例,針對不同的平台虛擬機也會提供不同的默認值。

  • 對於布爾(Boolean)類型的配置選項,通過-XX:+<option>來開啟,通過-XX:-<option>來關閉。
  • 對於數字(Numberic)類型的配置選項,通過-XX:<option>=<number>來配置。<number>后面可以攜帶單位字母,比如: 'k'或者'K'代表千字節,'m'或者'M'代表兆字節,'g'或者'G'代表千兆字節。
  • 對於字符串(String)類型的配置選項,通過-XX:<option>=<string>來配置。這種配置通過用來指定文件,路徑或者命令列表。

-D是jvm啟動時給系統參數賦值用的(可以是系統默認有的參數,也可以是自己定義的參數),這個過程會在jvm開始java應用程序之前執行。這個參數賦值也可以通過使用System.setProperty(key, value);來完成。

-Dspring.profiles.active=test
-Dhsf.server.port=12404
-Dpandora.qos.port=12401
-Dhsf.http.port=12402

 

showtooltip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM