java 啓動命令解析

前言
     在看Btrace源碼的時候,瞭解到一些陌生的啓動命令參數,例如-Xbootclasspath等,之前也曾遇到過,但並沒有去進一步全面瞭解,在此則進行介紹。

簡介
     Java 的啓動參數包括標準的參數(運行環境參數)和非標準的參數(JVM實現支持的參數)。

標準的參數
參數 描述                                                                  
-client client模式啓動
-server Service模式啓動
-classpath   classpath
-cp   classpath
加入classpath
-D property = value
加入到system property 中
-d32
-d64
啓動的操作系統位數
-enableassertions [:<package name>"..." | :<class name> ]
-ea [:<package name>"..." | :<class name> ]
啓動斷言
-disableassertions [:<package name>"..." | :<class name> ]
-da [:<package name>"..." | :<class name> ]
禁止斷言
-enablesystemassertions
-esa
啓動系統斷言
-disablesystemassertions
-dsa
禁止系統斷言
-jar 啓動jar
-verbose
-verbose:class
打印載入的class信息
-verbose:gc 打印GC的收集時的信息
-verbose:jni 打印jni調用native的方法行爲
-version 打印java的版本信息後退出
-showversion 打印java的版本信息,但不退出
-?
-help
幫助
-X 打印非標準的參數信息

非標準的參數
參數                                        描述                                         
-Xint 設置jvm以解釋模式執行,所有字節碼解釋執行
-Xbatch 關閉後臺代碼編譯。正常情況下,VM會在後臺編譯代碼,運行的方法將以解釋的模式運行,知道後臺編譯完成。該參數則強制編譯在前臺執行,等所有編譯完才能運行代碼。
-Xdebug 啓動debugger。具體可以參考  jdb description
-Xbootclasspath: bootclasspath
指定用冒號分割的文件目錄、jar或者zip文件,加入到boot class。用來代替java2 SDK中的boot class 文件。常被用來覆蓋rt.jar的類。一般情況不會使用。
-Xbootclasspath/a: path
Xbootclasspath 參數用途一樣,只是該選項是追加path到bootstrap class path中,而非替換。
-Xbootclasspath/p: path
Xbootclasspath/a 參數用途一樣,只是追加的目錄將優先於默認的bootstrap class path
-Xcheck:jni 在執行native方法前進行檢查。JVM會校驗傳遞給jni方法的參數在執行jni請求前。在native中一個非法的數據將會導致JVM終止。如果開啓該參數,將會降低性能。
-Xfuture 對class文件進行嚴格檢查。目的爲了向後兼容。推薦開發人員使用該參數。
-Xnoclassgc 關閉class 的gc功能
-Xincgc 開啓增量gc的功能,默認是關閉的。有助於減少gc的停頓時間,但可能會導致大概10%的性能損耗。
-Xloggc: file
和verbose:gc參數類似,只是將gc信息打印在文件而不是控制檯。和verbose:gc不同的是輸出的信息中帶有時間。
-Xms n
指定初始堆的大小,默認單位爲k。可以指定爲m
-Xmx n
指定堆得最大的大小
-Xss n
設置線程棧的大小
-Xprof 跟蹤正在運行的程序,並輸出跟蹤信息到控制檯。該參數主要用在開發環境,而不是生產環境。
-Xrunhprof [:help ][:<suboption>=<value>,... ] 開啓cpu、heap或者監視器的性能分析。具體介紹,可以參考  java -Xrunhprof:help
-Xrs 減少JVM對操作系統信號(signals)的使用。


以上參數爲1.4.2的基礎的,文檔地址:http://docs.oracle.com/javase/1.4.2/docs/tooldocs/solaris/java.html
剛發現了1.6.0的文檔地址,對比了下,發現基本參數一樣。地址:http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html

關於JVM的其他參數,後續進行補充。

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