熱烈祝賀臺州維博網絡的站長論壇隆重上線!(2012-05-28)    熱烈慶祝偉大的祖國60周年生日 點擊進來我們一起為她祝福吧(2009-09-26)    站長論壇禁止發布廣告,一經發現立即刪除。謝謝各位合作!.(2009-08-08)    熱烈祝賀臺州網址導航全面升級,全新版本上線!希望各位一如既往地支持臺州網址導航的發展.(2009-03-28)    臺州站長論壇恭祝各位新年快樂,牛年行大運!(2009-01-24)    臺州Link正式更名為臺州網址導航,專業做以臺州網址為主的網址導航!(2008-05-23)    熱烈祝賀臺州Link資訊改名為中國站長資訊!希望在以后日子里得到大家的大力支持和幫助!(2008-04-10)    熱烈祝賀臺州Link論壇改名為臺州站長論壇!希望大家繼續支持和鼓勵!(2008-04-10)    臺州站長論壇原[社會瑣碎]版塊更名為[生活百科]版塊!(2007-09-05)    特此通知:新臺州站長論壇的數據信息全部升級成功!">特此通知:新臺州站長論壇的數據信息全部升級成功!(2007-09-01)    臺州站長論壇對未通過驗證的會員進行合理的清除,請您諒解(2007-08-30)    臺州網址導航|上網導航誠邀世界各地的網站友情鏈接和友誼聯盟,共同引領網站導航、前進!(2007-08-30)    禁止發廣告之類的帖,已發現立即刪除!(2007-08-30)    希望各位上傳與下載有用資源和最新信息(2007-08-30)    熱烈祝賀臺州站長論壇全面升級成功,全新上線!(2007-08-30)    
便民網址導航,輕松網上沖浪。
臺州維博網絡專業開發網站門戶平臺系統
您當前的位置: 首頁 » JAVA/JSP編程 » Java命令參數說明大全

Java命令參數說明大全

論壇鏈接
  • Java命令參數說明大全
  • 發布時間:2010-11-04 09:33:54    瀏覽數:6014    發布者:tznktg    設置字體【   
 Java在運行已編譯完成的類時,是通過 java 虛擬機來裝載和執行的,java 虛擬機通過操作系統命令 JAVA_HOME\bin\java –option 來啟動,-option 為虛擬機參數,JAVA_HOME 為JDK安裝路徑,通過這些參數可對虛擬機的運行狀態進行調整,掌握參數的含義可對虛擬機的運行模式有更深入理解。

  一、 查看參數列表:

  虛擬機參數分為基本和擴展兩類,在命令行中輸入 JAVA_HOME\bin\java 就可得到基本參數列表,

  在命令行輸入 JAVA_HOME\bin\java –X 就可得到擴展參數列表。

  二、 基本參數說明:

  1. -client,-server

  這兩個參數用于設置虛擬機使用何種運行模式,client 模式啟動比較快,但運行時性能和內存管理效率不如 server 模式,通常用于客戶端應用程序。相反,server 模式啟動比 client慢,但可獲得更高的運行性能。

  在 windows上,缺省的虛擬機類型為 client 模式,如果要使用 server模式,就需要在啟動虛擬機時加-server 參數,以獲得更高性能,對服務器端應用,推薦采用 server 模式,尤其是多個 CPU 的系統。在 Linux,Solaris 上缺省采用 server模式。

  2. -hotspot

  含義與 client 相同,jdk1.4 以前使用的參數,jdk1.4 開始不再使用,代之以 client。

  3. -classpath,-cp

  虛擬機在運行一個類時,需要將其裝入內存,虛擬機搜索類的方式和順序如下:

  Bootstrap classes,Extension classes,User classes。

  Bootstrap 中的路徑是虛擬機自帶的 jar 或 zip 文件,虛擬機首先搜索這些包文件,用System.getProperty("sun.boot.class.path")可得到虛擬機搜索的包名。

  Extension 是位于 jre\lib\ext 目錄下的 jar 文件,虛擬機在搜索完 Bootstrap 后就搜索該目錄下的 jar 文件。用 System. getProperty("java.ext.dirs”)可得到虛擬機使用Extension 搜索路徑。

  User classes 搜索順序為當前目錄、環境變量 CLASSPATH、-classpath。

  4. -classpath

  告知虛擬機搜索目錄名、jar 文檔名、zip 文檔名,之間用分號;分隔。

  例如當你自己開發了公共類并包裝成一個 common.jar 包,在使用 common.jar 中的類時,就需要用-classpath common.jar 告訴虛擬機從 common.jar 中查找該類,否則虛擬機就會拋出 java.lang.NoClassDefFoundError異常,表明未找到類定義。

  在運行時可用 System.getProperty(“java.class.path”)得到虛擬機查找類的路徑。

  使用-classpath 后虛擬機將不再使用 CLASSPATH 中的類搜索路徑,如果-classpath 和CLASSPATH 都沒有設置,則虛擬機使用當前路徑(.)作為類搜索路徑。

  推薦使用-classpath 來定義虛擬機要搜索的類路徑,而不要使用環境變量 CLASSPATH 的搜索路徑,以減少多個項目同時使用 CLASSPATH 時存在的潛在沖突。例如應用 1 要使用a1.0.jar 中的類 G,應用 2 要使用 a2.0.jar 中的類 G,a2.0.jar 是 a1.0.jar 的升級包,當a1.0.jar,a2.0.jar 都在 CLASSPATH 中,虛擬機搜索到第一個包中的類 G 時就停止搜索,如果應用1應用2的虛擬機都從CLASSPATH中搜索,就會有一個應用得不到正確版本的類G。

  5. -D=value

  在虛擬機的系統屬性中設置屬性名/值對,運行在此虛擬機之上的應用程序可用

  當虛擬機報告類找不到或類沖突時可用此參數來診斷來查看虛擬機從裝入類的情況。

  7. -verbose:gc

  在虛擬機發生內存回收時在輸出設備顯示信息,格式如下:

  [Full GC 268K->168K(1984K), 0.0187390 secs]

  該參數用來監視虛擬機內存回收的情況。

  8. -verbose:jni

  在虛擬機調用 native 方法時輸出設備顯示信息,格式如下:

  [Dynamic-linking native method HelloNative.sum ... JNI]

  該參數用來監視虛擬機調用本地方法的情況,在發生 jni錯誤時可為診斷提供便利。

  9. -version

  顯示可運行的虛擬機版本信息然后退出。一臺機器上裝有不同版本的 JDK 時

  10. -showversion

  顯示版本信息以及幫助信息。

  11. -ea[:...|:]

  12. -enableassertions[:...|:]

  從 JDK1.4 開始,java 可支持斷言機制,用于診斷運行時問題。通常在測試階段使斷言有效,在正式運行時不需要運行斷言。斷言后的表達式的值是一個邏輯值,為 true 時斷言不運行,為 false 時斷言運行,拋出 java.lang.AssertionError 錯誤。

  上述參數就用來設置虛擬機是否啟動斷言機制,缺省時虛擬機關閉斷言機制,用-ea 可打開斷言機制,不加和 classname 時運行所有包和類中的斷言,如果希望只運行某些包或類中的斷言,可將包名或類名加到-ea 之后。例如要啟動包 com.foo.util 中的斷言,可用命令 –ea:com.foo.util 。

  13. -da[:...|:]

  14. -disableassertions[:...|:]

  用來設置虛擬機關閉斷言處理,packagename和classname 的使用方法和-ea 相同。

  15. -esa | -enablesystemassertions

  設置虛擬機顯示系統類的斷言。

  16. -dsa | -disablesystemassertions

  設置虛擬機關閉系統類的斷言。

  17. -agentlib:[=]

  該參數是 JDK5 新引入的,用于虛擬機裝載本地代理庫。

  Libname 為本地代理庫文件名,虛擬機的搜索路徑為環境變量 PATH 中的路徑,options 為傳給本地庫啟動時的參數,多個參數之間用逗號分隔。在 Windows平臺上虛擬機搜索本地庫名為 libname.dll 的文件,在 Unix 上虛擬機搜索本地庫名為 libname.so 的文件,搜索路徑環境變量在不同系統上有所不同,Linux、SunOS、IRIX上為LD_LIBRARY_PATH,AIX上為LIBPATH,HP-UX 上為SHLIB_PATH。

  例如可使用-agentlib:hprof 來獲取虛擬機的運行情況,包括 CPU、內存、線程等的運行數

  據,并可輸出到指定文件中,可用-agentlib:hprof=help 來得到使用幫助列表。在 jre\bin目錄下可發現 hprof.dll 文件。

  18. -agentpath:[=]

  設置虛擬機按全路徑裝載本地庫,不再搜索 PATH 中的路徑。其他功能和 agentlib 相同。

  19. -javaagent:[=]

  虛擬機啟動時裝入java語言設備代理。Jarpath文件中的mainfest文件必須有Agent-Class屬性。代理類要實現 public static void premain(String agentArgs, Instrumentation inst)方法。當虛擬機初始化時,將按代理類的說明順序調用 premain方法。

  參見:java.lang.instrument

  三、 擴展參數說明

  1. -Xmixed

  設置-client 模式虛擬機對使用頻率高的方式進行 Just-In-Time 編譯和執行,對其他方法使用解釋方式執行。該方式是虛擬機缺省模式。

  2. -Xint

  設置-client模式下運行的虛擬機以解釋方式執行類的字節碼,不將字節碼編譯為本機碼。

  3. -Xbootclasspath:path

  4. -Xbootclasspath/a:path

  5. -Xbootclasspath/p:path

  改變虛擬機裝載缺省系統運行包 rt.jar 而從-Xbootclasspath 中設定的搜索路徑中裝載系統運行類。除非你自己能寫一個運行時,否則不會用到該參數。

  /a:將在缺省搜索路徑后加上 path 中的搜索路徑。

  /p:在缺省搜索路徑前先搜索 path 中的搜索路徑。

  6. -Xnoclassgc

  關閉虛擬機對 class 的垃圾回收功能。

  7. -Xincgc

  啟動增量垃圾收集器,缺省是關閉的。增量垃圾收集器能減少偶然發生的長時間的垃圾回收造成的暫停時間。但增量垃圾收集器和應用程序并發執行,因此會占用部分 CPU 在應用程序上的功能。

  8. -Xloggc:
  將虛擬機每次垃圾回收的信息寫到日志文件中,文件名由 file 指定,文件格式是平文件,內容和-verbose:gc 輸出內容相同。

  9. -Xbatch

  虛擬機的缺省運行方式是在后臺編譯類代碼,然后在前臺執行代碼,使用-Xbatch參數將關閉虛擬機后臺編譯,在前臺編譯完成后再執行。

  10. -Xms
  設置虛擬機可用內存堆的初始大小,缺省單位為字節,該大小為 1024 的整數倍并且要大于1MB,可用 k(K)或m(M)為單位來設置較大的內存數。初始堆大小為 2MB。

  例如:-Xms6400K,-Xms256M

  11. -Xmx
  設置虛擬機內存堆的最大可用大小,缺省單位為字節。該值必須為 1024 整數倍,并且要大于 2MB?捎 k(K)或 m(M)為單位來設置較大的內存數。缺省堆最大值為 64MB。

  例如:-Xmx81920K,-Xmx80M

  當應用程序申請了大內存運行時虛擬機拋出 java.lang.OutOfMemoryError: Javaheap space 錯誤,就需要使用-Xmx 設媒洗蟮目捎媚詿娑選?BR>

  12. -Xss
  設置線程棧的大小,缺省單位為字節。與-Xmx 類似,也可用 K 或 M 來設置較大的值。通常操作系統分配給線程棧的缺省大小為 1MB。

  另外也可在 java 中創建線程對象時設置棧的大小,構造函數原型為 Thread(ThreadGroup group, Runnable target, String name, long stackSize)。

  13. -Xprof

  輸出 CPU 運行時的診斷信息。

  14. -Xfuture

  對類文件進行嚴格格式檢查,以保證類代碼符合類代碼規范。為保持向后兼容,虛擬機缺省不進行嚴格的格式檢查。

  15. -Xrs

  減少虛擬機中操作系統的信號(singals)的使用。該參數通常用在虛擬機以后臺服務方式運行時使用(如 Servlet)。

  16. -Xcheck:jni

  調用 JNI 函數時進行附加的檢查,特別地虛擬機將校驗傳遞給 JNI 函數參數的合法性,在本地代碼中遇到非法數據時,虛擬機將報一個致命錯誤而終止。使用該參數后將造成性能下降。
娛樂休閑專區A 影視預告B 音樂咖啡C 英語階梯D 生活百科
網頁編程專區E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技術區 N 系統管理O 服務器架設P 網絡/硬件Q 編程序開發R 內核/嵌入
管理中心專區S 發布網址T 版主議事U 事務處理
陕西快乐10分玩法 幸运农场二 股票实时查询证券之星 浙江体彩6+1走势图带连线 韩国快乐8不开了吗 黑龙江6 1体彩开奖结果查询 手机兼职网上赚钱50元内 精选神算子开奖结果 浙江11选5带坐标走势图 捕鱼王者下载手机版 融券的股票从哪里来