java的命令笔记
1、java.exe:
運行java程序,這個相信每一位用Java的人知道了。
2、javac.exe:
編譯的Java程序,生成.class文件
3、javaw.exe:
功 能:跟java命令相對的,可以運行.class文件,主要用來執(zhí)行圖形界面的java程序運行java命令時,會出現(xiàn)并保持一個console窗口,程 序中的信息可以通過System.out在console內(nèi)輸出,而運行javaw,開始時會出現(xiàn)console,當(dāng)主程序調(diào)用之后,console就會 消失; javaw 大多用來運行GUI程序
4、javah
功能說明:
C 頭文件和 Stub 文件生成器。javah 從 Java 類生成 C 頭文件和 C 源文件。這些文件提供了連接膠合,使 Java 和 C 代碼可進(jìn)行交互。
語法:
javah [ 命令選項 ] fully-qualified-classname. . . javah_g [ 命令選項 ] fully-qualified-classname. . .補(bǔ)充說明:
javah 生成實現(xiàn)本地方法所需的 C 頭文件和源文件。C 程序用生成的頭文件和源文件在本地源代碼中引用某一對象的實例變量。.h 文件含有一個 struct 定義,該定義的布局與相應(yīng)類的布局平行。該 struct 中的域?qū)?yīng)于類中的實例變量。
頭文件名以及在頭文件中所聲明的結(jié)構(gòu)名都來源于類名。如果傳給 javah 的類是在某個包中,則頭文件名和結(jié)構(gòu)名前都要冠以該包名。下劃線 (_) 用作名稱分隔符。
缺省情況下,javah 為每個在命令行中列出的類都創(chuàng)建一個頭文件,且將該文件放在當(dāng)前目錄中。用 -stubs 選項創(chuàng)建源文件。用 -o 選項將所有列出類的結(jié)果串接成一個單一文件。
命令選項
-o[輸出文件] 將命令行中列出的所有類的頭文件或源文件串接到輸出文件中。-o 或 -d 兩個選項只能選擇一個。 -d[目錄] 設(shè)置 javah 保存頭文件或 stub 文件的目錄。-d 或 -o 兩個選項只能選擇一個。 -stubs 使 javah 從 Java 對象文件生成 C 聲明。 -verbose 指明長格式輸出,并使 javah 將所生成文件的有關(guān)狀態(tài)的信息輸出到標(biāo)準(zhǔn)輸出設(shè)備中。 -help 輸出 javah 用法的幫助信息。 -version 輸出 javah 的版本信息。 -jni 使 javah 創(chuàng)建一輸出文件,該文件包含 JNI 風(fēng)格的本地方法函數(shù)原型。這是缺省輸出,所以 -jni 的使用是可選的。 -classpath[路徑] 指定 javah 用來查詢類的路徑。如果設(shè)置了該選項,它將覆蓋缺省值或 CLASSPATH 環(huán)境變量。目錄用冒號分隔。 -bootclasspath[路徑] 指定加載自舉類所用的路徑。缺省情況下,自舉類是實現(xiàn)核心 Java 平臺的類,位于 jrelibt.jar 和 jrelibi18n.jar 中。 -old 指定應(yīng)當(dāng)生成舊 JDK1.0 風(fēng)格的頭文件。 -force 指定始終寫輸出文件。5、javap
功能說明:
Java 類文件解析器。
語法:
javap [ 命令選項 ] class…
補(bǔ)充說明:
javap 命令用于解析類文件。其輸出取決于所用的選項。若沒有使用選項,javap 將輸出傳遞給它的類的 public 域及方法。javap 將其輸出到標(biāo)準(zhǔn)輸出設(shè)備上。命令選項
-help 輸出 javap 的幫助信息。 -l 輸出行及局部變量表。 -b 確保與 JDK 1.1 javap 的向后兼容性。 -public 只顯示 public 類及成員。 -protected 只顯示 protected 和 public 類及成員。 -package 只顯示包、protected 和 public 類及成員。這是缺省設(shè)置。 -private 顯示所有類和成員。 -J[flag] 直接將 flag 傳給運行時系統(tǒng)。 -s 輸出內(nèi)部類型簽名。 -c 輸出類中各方法的未解析的代碼,即構(gòu)成 Java 字節(jié)碼的指令。 -verbose 輸出堆棧大小、各方法的 locals 及 args 數(shù)。 -classpath[路徑] 指定 javap 用來查找類的路徑。如果設(shè)置了該選項,則它將覆蓋缺省值或 CLASSPATH 環(huán)境變量。目錄用冒號分隔。 - bootclasspath[路徑] 指定加載自舉類所用的路徑。缺省情況下,自舉類是實現(xiàn)核心 Java 平臺的類,位于 jrelib t.jar 和 jrelibi18n.jar 中。-extdirs[dirs] 覆蓋搜索安裝方式擴(kuò)展的位置。擴(kuò)展的缺省位置是 jrelibext。6.jdb.exe
功能:
Java的一個命令行調(diào)試環(huán)境,既可在本地,也可在與遠(yuǎn)程的解釋器的一次對話中執(zhí)行。
用法:
jdb于本地機(jī)器中可用如下的命令啟動:
當(dāng)你使用-debug選項開始一個Java例程時, 必須提供給Jdb 一個密碼, 這樣 Jdb才能開始運轉(zhuǎn)起來。下表包含了所有jdb命令。
選項 功能
catch calssID 為特定異常出口而中斷classes 列出當(dāng)前已知的類clear classID:line 清除一個斷點cont 從斷點處繼續(xù)執(zhí)行down[n frames] 下移一個線程的堆棧dump ID[ID...] 顯示所有對象信息exit(或quit) 退出調(diào)試器help(或?) 列出所有命令ignore classID 忽略特定的異常出口list[line number] 顯示源代碼load classbame 載入要調(diào)試的Java類locals 在當(dāng)前堆棧幀中顯示所有局部變量memory 報告內(nèi)存使用情況methods classID 列出一個類的成員函數(shù)集print ID[ID...] 列出對象或域resume [threadID...] 恢復(fù)線程(默認(rèn)情況恢復(fù)所有線程)run class [args] 開始執(zhí)行已下載的Java類step 執(zhí)行當(dāng)前行stop in classID:method 在一成員函數(shù)中設(shè)一斷點stop at classID:line 在一行設(shè)一斷點 功能:suspend[threadID...] 停止一個線程(默認(rèn)情況停止所有線程)hreads threadgroup 列出線程thread threadID 設(shè)置當(dāng)前線程threadgroups 列出線程組threadgroup name 設(shè)置當(dāng)前線程組up [n frames] 上移一個線程堆棧use [path] 顯示或改變源程序路徑where [threadID] or all 使一線程的堆線置空!! 重復(fù)上一次命令-host hostname 該命令告訴Jdb到哪里去建立遠(yuǎn)程運行的Java解釋器對話過程-password password 本選項告訴Jdb 用哪個密碼去與遠(yuǎn)程運行的Java 對話進(jìn)程相連接。 密碼 password是由運行帶有-debug選項的Java解釋器所提供的。7、javaws.exe
功能:
Java應(yīng)用程序高速緩存查看器.
用法:
具有圖形界面,可以直接進(jìn)行操作.
8、jconsole.exe
功能:
J2SE監(jiān)測和管理控制臺—一個同JMX兼容的監(jiān)測Java虛擬機(jī)的圖形工具。其能夠監(jiān)視當(dāng)?shù)鼗蛘哌h(yuǎn)程的Java虛擬機(jī)。
Java監(jiān)視和管理控制臺,JConsole使用JVM的可擴(kuò)展性Java管理擴(kuò)展(JMX)工具來提供關(guān)于運行于Java平臺的應(yīng)用程序的性能和資源消耗的信息。
在J2SE 5.0軟件中,你需要啟動使用-Dcom.sun.management.jmxremote選項監(jiān)控的應(yīng)用程序。注意:在Java SE 6軟件中,不再有這一要求。當(dāng)啟動該應(yīng)用程序時,不需要特定的命令行選項。
在生產(chǎn)系統(tǒng)中的應(yīng)用,JConsole啟動一個在被觀察的Java程序的JVM內(nèi)部的JMX代理。運行另外一部分代碼僅有一點極微弱的影響-但是影響很小。
另外,盡管JConsole在監(jiān)視本地應(yīng)用程序的開發(fā)和快速原型開發(fā)中很有用,但在實際的應(yīng)用系統(tǒng)中不推薦使用。理由是,JConsole本身也消耗大
量的系統(tǒng)資源。我們推薦的方法是用遠(yuǎn)程監(jiān)控來把JConsole應(yīng)用程序與被監(jiān)控的系統(tǒng)加以隔離。因此,對于應(yīng)用系統(tǒng)來說,以遠(yuǎn)程模式使用
JConsole更好些。對于安全的遠(yuǎn)程監(jiān)控來說,可以使用安全選項。
用法:
具有圖形界面,可直接操作,查看摘要、內(nèi)存、線程、類、MBean,VM的信息。
9、jps.exe
功能:
java虛擬機(jī)進(jìn)程狀態(tài)工具—在目標(biāo)系統(tǒng)上列出裝備有HotSpot Java的虛擬機(jī)
啟動了 Java 進(jìn)程時,請使用 jps 工具來通過鍵入 jps 標(biāo)識其 JVM。它向您提供一個正在運行的 Java 進(jìn)程的列表,這些進(jìn)程以其 JVM 作為 ID。
jps相當(dāng)于Solaris進(jìn)程工具ps。更多的信息,請參考《jps-Java Virtual Machine Process Status Tool》。不象”pgrep java”或”ps -ef | grep
java”,jps并不使用應(yīng)用程序名來查找JVM實例。因此,它查找所有的Java應(yīng)用程序,包括即使沒有使用java執(zhí)行體的那種(例如,定制的啟動
器)。另外,jps僅查找當(dāng)前用戶的Java進(jìn)程,而不是當(dāng)前系統(tǒng)中的所有進(jìn)程。
用法:
jps [-q] [-mlvV] [<hostid>]參數(shù)說明:<hostid>:<hostname>[:<port>]10、jstat.exe
功能:
JVM監(jiān)控工具,java虛擬機(jī)統(tǒng)計監(jiān)視工具—附加到一個裝備了HotSpot的java虛擬機(jī)上來采集并且記錄性能統(tǒng)計情況
jstat顯示一個測量(instrumented)Java HotSpot虛擬機(jī)的性能統(tǒng)計信息(請參考《jstat-Java Virtual Machine Statistics Monitoring Tool》)。有關(guān)于性能計數(shù)器的更詳細(xì)的信息請參考《Code sample-jvmstat 3.0》。
用法:
詳細(xì)用法http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstat.html
11、jstatd.exe
功能:
java虛擬機(jī)的jstat守護(hù)程序—啟動一個RMI服務(wù)器程序來監(jiān)視各個HotSpot java虛擬機(jī)的創(chuàng)建和中止。并且提供了一個訪問遠(yuǎn)程監(jiān)視工具接入的接口。
jstatd是一個Java遠(yuǎn)程方法調(diào)用(RMI)服務(wù)器應(yīng)用程序-它監(jiān)控測量Java
HotSpot虛擬機(jī)的創(chuàng)建和終止并且提供一個接口來允許遠(yuǎn)程監(jiān)控工具依附到運行于本地主機(jī)的JVM(請參考《jstatd-Virtual Machine jstat Daemon》)。
在應(yīng)用系統(tǒng)中的使用
jps及其它jvmstat實用程序都使用極為輕量級的觀察機(jī)制。由JVM分配一小部分共享內(nèi)存,而性能計數(shù)器也是從這部分內(nèi)存中分配的。JVM子系統(tǒng)基于其感興趣的事件更新性能計數(shù)器。客戶端工具僅僅負(fù)責(zé)異步地從共享內(nèi)存段中進(jìn)行讀取。因此,總的來說,使用jvmstat進(jìn)行監(jiān)控的效果是很小的。
用法:
詳細(xì)見http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstatd.html
12-14、kinit.exe,klist.exe,ktab.exe
功能:
Java安全管理工具
用法:
詳見http://java.sun.com/j2se/1.5.0/docs/tooldocs/#security
15、native2ascii.exe
功能說明:
將含有本地編碼字符(既非 Latin1 又非 Unicode 字符)的文件轉(zhuǎn)換為 Unicode 編碼字符的文件。
語法:
native2ascii [options] [inputfile [outputfile]]補(bǔ)充說明:
Java編譯器和其它 Java 工具只能處理含有 Latin-1 和/或 Unicode 編碼(udddd 記號)字符的文件。native2ascii 將含有其它字符編碼的文件轉(zhuǎn)換成含 Latin-1 和/或 Unicode 編碼字符的文件。若省略 outputfile,則使用標(biāo)準(zhǔn)輸出設(shè)備輸出。此外,如果也省略 inputfile,則使用標(biāo)準(zhǔn)輸入設(shè)備輸入。
命令選項
-reverse 執(zhí)行相反的操作:將含 Latin-1 和/或 Unicode 編碼字符的文件轉(zhuǎn)換成含本地編碼字符的文件。 -encoding[encoding_name] 指定轉(zhuǎn)換過程使用的編碼名稱。缺省的編碼從系統(tǒng)屬性 file.encoding 中得到。16、ordb.exe
用法:
orbd <選項>其中,<選項> 包括:
-port 啟動 ORBD 的激活端口,缺省值為 1049 (可選) -defaultdb ORBD 文件的目錄,缺省值為 "./orb.db" (可選) -serverid ORBD 的服務(wù)器標(biāo)識符,缺省值為 1 (可選) -ORBInitialPort 初始端口(必需) -ORBInitialHost 初始主機(jī)名稱(必需)17、idlj編譯器用法:
java com.sun.tools.corba.se.idl.toJavaPortable.Compile [選項]
-d <符號> 等價于 IDL 文件中的以下行:#define <符號> -emitAll 發(fā)出所有類型,包括在 #included 文件中找到的那些類型。 -f<端> 定義要發(fā)出的綁定。 <端> 是 client、server、all、serverTIE 和 allTIE 中之一。 serverTIE和 allTIE將導(dǎo)致發(fā)出委托模型框架。如果未使用此標(biāo)志,則假設(shè)為 -fclient。 -i <包括路徑> 默認(rèn)情況下,搜索當(dāng)前目錄以獲得其所包含的文件。此選項將添加其他目錄。 -keep 如果要生成的文件已存在,則不覆蓋它。默認(rèn)情況下會覆蓋該文件。 -noWarn 抑制警告。 -oldImplBase 生成與舊(1.4 版之前)JDK ORB 兼容的框架。 -pkgPrefix <t> <前綴> 在文件范圍內(nèi)遇到類型或模塊名稱 <t> 時,將為針對 <t> 所生成的所有文件的 Java 軟件包名稱附加 <前綴>。 -pkgTranslate <t> <pkg> 在遇到類型或模塊名稱 <t> 時,則在生成的 java 軟件包中以 <pkg> 將其替換。請注意,首先進(jìn)行 pkgPrefix 更改。 <t> 必須與完整的的軟件包名稱完全一致。另外,<t> 不能為org、org.omg 或 org.omg 的任何子包。 -skeletonName <xxx%yyy> 根據(jù)模式命名框架。 默認(rèn)值為:適用于 POA 基類(-fserver 或 -fall)的 %POA適用于 oldImplBase 基類(-oldImplBase 和 [-fserver 或 -fall])的 %ImplBase。 -td <目錄> 將 <目錄> 而非當(dāng)前目錄用作輸出目錄。 -tieName <xxx%yyy> 根據(jù)模式命名 tie。默認(rèn)值為:適用于 POA tie(-fserverTie 或 -fallTie)的 %POATie適用于 oldImplBase tie(-oldImplBase 和 [-fserverTie 或 -fallTie])的 %_Tie。 -v, -verbose 詳細(xì)模式。 -version 顯示版本號并退出。18、servertool.exe
可用命令:
register - 注冊一個可激活的服務(wù)器unregister - 取消服務(wù)器注冊getserverid - 返回應(yīng)用程序名稱的服務(wù)器標(biāo)識符list - 列舉所有已注冊服務(wù)器listappnames - 列舉當(dāng)前定義的應(yīng)用程序名稱listactive - 列舉當(dāng)前活動的服務(wù)器locate - 將已注冊服務(wù)器定位在特定類型的端口locateperorb - 為已注冊服務(wù)器的特定對象請求代理程序定位端口。orblist - 對象請求代理程序 (orb) 名稱及其映射列表shutdown - 關(guān)閉一個已注冊服務(wù)器startup - 啟動一個已注冊服務(wù)器help - 取得幫助quit - 退出此工具servertool > quit19、tnameserv.exe
功能:
提供命名服務(wù)的接口
用法:
詳見http://java.sun.com/j2se/1.5.0/docs/tooldocs/#idl
20、rmic
功能說明:
rmic 為遠(yuǎn)程對象生成 stub 和 skeleton。
語法:
rmic [ options ] package-qualified-class-name(s)補(bǔ)充說明:
rmic編譯器根據(jù)編譯后的 Java 類(含有遠(yuǎn)程對象實現(xiàn))名,為遠(yuǎn)程對象生成 stub 和 skeleton(遠(yuǎn)程對象是指實現(xiàn)
java.rmi.Remote 接口的對象)。在 rmic 命令中所給的類必須是經(jīng) javac 命令成功編譯且是完全包限定的類。
命令選項
-classpath[路徑] 指定 rmic 用于查詢類的路徑。如果設(shè)置了該選項,它將覆蓋缺省值或 CLASSPATH 環(huán)境變量。目錄用冒號分隔。 -d[目錄] 指定類層次的根目錄。此選項可用來指定 stub 和 skeleton 文件的目標(biāo)目錄。 -depend 使編譯器考慮重新編譯從其它類引用的類。 一般來說,它只重新編譯從源代碼引用的遺漏或過期的類。 -g 允許生成調(diào)試表格。調(diào)試表格含有行號和局部變量的有關(guān)信息,即 Java 調(diào)試工具所使用的信息。缺省情況下,只生成行號。 -J 與 -D 選項聯(lián)用,它將緊跟其后的選項( -J 與 -D 之間無空格)傳給 java 解釋器。 -keepgenerated 為 stub 和 skeleton 文件保留所生成的 .java 源文件,并將這些源文件寫到與 .class 文件相同的目錄中,如果要指定目錄,則使用 -d 選項。 -nowarn 關(guān)閉警告。如果使用該選項,則編譯器不輸出任何警告信息。 -show 顯示 rmic 編譯器的 GUI(圖形用戶界面)。輸入一個或多個包限定類名(以空格分隔),并按回車鍵或"顯示"按鈕,創(chuàng)建 stub 和 skeleton。 -vcompat (缺省值)創(chuàng)建與 JDK 1.1 和 1.2 stub 協(xié)議版本都兼容的 stub 和 skeleton。 -verbose 使編譯器和鏈接器輸出關(guān)于正在編譯哪些類和正在加載哪些類文件的信息。 -v1.1 創(chuàng)建 JDK 1.1 stub 協(xié)議版本的 stub 和 skeleton。 -v1.2 只創(chuàng)建 JDK 1.2 stub 協(xié)議版本的 stub。21、rmid
功能說明:
rmid 啟動激活系統(tǒng)守護(hù)進(jìn)程,以便能夠在 Java 虛擬機(jī)上注冊和激活對象。
語法:
rmid [-port port] [-log dir]補(bǔ)充說明:
rmid 工具啟動激活系統(tǒng)守護(hù)進(jìn)程。必須先啟動激活系統(tǒng)守護(hù)進(jìn)程,才能向激活系統(tǒng)注冊可被激活的對象或在 Java 虛擬機(jī)上激活可被激活的對象。
命令選項
-C<某些命令行選項> 指定一個選項,在創(chuàng)建每個 rmid 的子守護(hù)進(jìn)程(激活組)時,該選項以命令行參數(shù)的形式傳給該子守護(hù)進(jìn)程。 -log[目錄] 指定目錄的名稱,激活系統(tǒng)守護(hù)進(jìn)程在該目錄中寫入其數(shù)據(jù)庫及相關(guān)信息。缺省狀態(tài)下,將在執(zhí)行 rmid 命令的目錄中創(chuàng)建一個 log 目錄。 -port[端口] 指定 rmid 的注冊服務(wù)程序所使用的端口。激活系統(tǒng)守護(hù)進(jìn)程將 ActivationSystem 與該注冊服務(wù)程序中的名稱java.rmi.activation.ActivationSystem 捆綁在一起。 -stop 停止 -port 選項所指定端口上的當(dāng)前 rmid 調(diào)用。若未指定端口,則將停止在端口 1098 上運行的 rmid。22、rmiregistry
功能說明:
rmiregistry 命令可在當(dāng)前主機(jī)的指定端口上啟動遠(yuǎn)程對象注冊服務(wù)程序。
語法:
rmiregistry [port]補(bǔ)充說明:
rmiregistry命令在當(dāng)前主機(jī)的指定 port 上創(chuàng)建并啟動遠(yuǎn)程對象注冊服務(wù)程序。如果省略 port,則注冊服務(wù)程序?qū)⒃?1099 端口上啟動。rmiregistry 命令不產(chǎn)生任何輸出而且一般在后臺運行。遠(yuǎn)程對象注冊服務(wù)程序是自舉命名服務(wù)。主機(jī)上的 RMI 服務(wù)器將利用它將遠(yuǎn)程對象綁定到名字上。客戶機(jī)即可查詢遠(yuǎn)程對象并進(jìn)行遠(yuǎn)程方法調(diào)用。注冊服務(wù)程序一般用于定位應(yīng)用程序需調(diào)用其方法的第一個遠(yuǎn)程對象。該對象反過來對各應(yīng)用程序提供相應(yīng)的支持,用于查找其它對象。java.rmi.registry.LocateRegistry 類的方法可用于在某臺主機(jī)或主機(jī)和端口上獲取注冊服務(wù)程序操作。java.rmi.Naming 類的基于 URL 的方法將對注冊服務(wù)程序進(jìn)行操作,并可用于查詢遠(yuǎn)程對象、將簡單(字符串)名稱綁定到遠(yuǎn)程對象、將新名稱重新綁定到遠(yuǎn)程對象(覆蓋舊綁定)、取消遠(yuǎn)程對象的綁定以及列出綁定在注冊服務(wù)程序上的 URL。
23、packager.exe
功能:
對象包裝程序.
用法:
具有圖形界面與操作菜單.
24、policytool.exe
功能:
生成規(guī)則文件的工具
用法:
有圖形界面與操作菜單.
25、serialver
功能說明:
serialver 命令返回 serialVersionUID。
語法:
serialver [ 命令選項 ]補(bǔ)充說明:
serialver 以適于復(fù)制到演變類的形式返回一個或多個類的 serialVersionUID。不帶參數(shù)調(diào)用時,它輸出用法行。
命令選項
-show 顯示一個簡單的用戶界面。輸入完整的類名并按回車鍵或"顯示"按鈕可顯示 serialVersionUID。26、jarsigner
功能說明:
為 Java 歸檔 (JAR) 文件產(chǎn)生簽名,并校驗已簽名的 JAR 文件的簽名。
語法:
jarsigner [ 命令選項 ] jar-file aliasjarsigner -verify [ 命令選項 ] jar-file
補(bǔ)充說明:
jarsigner 工具用于兩個目的:
命令選項
-keystore[url] 指定密鑰倉庫的 URL。缺省值是用戶的宿主目錄中的 .keystore 文件,它由系統(tǒng)屬性"user.home"決定。 -storetype[storetype] 指定要被實例化的密鑰倉庫類型。默認(rèn)的密鑰倉庫類型是安全屬性文件中 "keystore.type" 屬性值所指定的那個類型,由 java.security.KeyStore 中的靜態(tài)方法 getDefaultType 返回。-storepass[password] 指定訪問密鑰倉庫所需的口令。這僅在簽名(不是校驗)JAR 文件時需要。在這種情況下,如果命令行中沒有提供 -storepass 選項,用戶將被提示輸入口令。 -keypass[password] 指定用于保護(hù)密鑰倉庫項(由命令行中指定的別名標(biāo)出)的私鑰的口令。使用 jarsigner 為 JAR 文件簽名時需要該口令。如果命令行中沒有提供口令,且所需的口令與密鑰倉庫的口令不同,則將提示用戶輸入它。 -sigfile[file] 指定用于生成 .SF 和 .DSA 文件的基本文件名。 -signedjar[file] 指定用于已簽名的 JAR 文件的名稱。 -verify 如果它出現(xiàn)在命令行中,則指定的 JAR 文件將被校驗,而不是簽名。如果校驗成功,將顯示"jar verified"。如果試圖校驗未簽名的 JAR 文件,或校驗被不支持的算法(例如未安裝 RSA 提供者時使用的 RSA)簽名的 JAR 文件,則將有如下顯示: "jar is unsigned. (signatures missing or not parsable)" 。 -certs 如果它與 -verify 和 -verbose 選項一起出現(xiàn)在命令行中,則輸出將包括 JAR 文件的每個簽名人的證書信息。-verbose 如果它出現(xiàn)在命令行中,則代表"verbose"模式,它使 jarsigner 在 JAR 簽名或校驗過程中輸出額外信息。 -internalsf 過去,JAR 文件被簽名時產(chǎn)生的 .DSA(簽名塊)文件包含一個同時產(chǎn)生的 .SF 文件(簽名文件)的完整編碼副本。這種做法已被更改。為了減小輸出 JAR 文件的整個大小,缺省情況下 .DSA 文件不再包含 .SF 文件的副本。但是如果 -internalsf 出現(xiàn)在命令行中,將采用舊的做法。該選項主要在測試時有用;實際上不應(yīng)使用它,因為這樣將消除有用的優(yōu)化。 -sectionsonly 如果它出現(xiàn)在命令行中,則 JAR 文件被簽名時生成的 .SF 文件(簽名文件)將不包括含有整個清單文件的散列的頭。它僅包含 與 JAR 中每個單獨的源文件相關(guān)的信息和散列。該選項主要在測試時有用;實際上不應(yīng)使用它,因為這樣將消除有用的優(yōu)化。-J[javaoption] 將指定的 javaoption 串直接傳遞到 Java 解釋器。((jarsigner 實際上是解釋器的一個 "wrapper")。該選項不應(yīng)含有任何空格。它有助于調(diào)整執(zhí)行環(huán)境或內(nèi)存使用。要獲得可用的解釋器選項的清單,可在命令行鍵入 java -h 或 java -X。27、keytool.exe
功能說明:
管理由私鑰和認(rèn)證相關(guān)公鑰的 X.509 證書鏈組成的密鑰倉庫(數(shù)據(jù)庫)。還管理來自可信任實體的證書。
語法:
keytool [ 命令 ]補(bǔ)充說明:
keytool 是個密鑰和證書管理工具。它使用戶能夠管理自己的公鑰/私鑰對及相關(guān)證書,用于(通過數(shù)字簽名)自我認(rèn)證(用戶向別的用戶/服務(wù)認(rèn)證自己)或數(shù)據(jù)完整性以及認(rèn)證服務(wù)。它還允許用戶儲存他們的通信對等者的公鑰(以證書形式)。
28、appletviewer
功能說明:
Java applet 瀏覽器。appletviewer 命令可在脫離萬維網(wǎng)瀏覽器環(huán)境的情況下運行 applet。
語法:
appletviewer [ threads flag ] [ 命令選項 ] urls ...補(bǔ)充說明:
appletviewer 命令連接到 url 所指向的文檔或資源上,并在其自身的窗口中顯示文檔引用的每個 applet。
注意:
如果 url 所指向的文檔不引用任何帶有 OBJECT、EMBED 或 APPLET 標(biāo)記的 applet,那么 appletviewer 就不做任何事情。命令選項-debug 在
Java 調(diào)試器 jdb 中啟動 appletviewer,使您可以調(diào)試文檔中的applet。
29、extcheck
功能說明:
extcheck 檢測目標(biāo) jar 文件與當(dāng)前安裝方式擴(kuò)展 jar 文件間的版本沖突。
語法:
extcheck [ -verbose ] targetfile.jar補(bǔ)充說明:
extcheck 實用程序檢查指定 Jar 文件的標(biāo)題和版本與 JDK TM 軟件中所安裝的擴(kuò)展是否有沖突。在安裝某個擴(kuò)展前,可以用該實用程序查看是否已安裝了該擴(kuò)展的相同版本或更高的版本。extcheck 實用程序?qū)?targetfile.jar 文件清單的 specification-title 和 specification-version 頭與當(dāng)前安裝在擴(kuò)展目錄下所有 Jar 文件的相對應(yīng)的頭進(jìn)行比較(缺省擴(kuò)展目錄為 jre/lib/ext)。extcheck 實用程序比較版本號的方式與 java.lang.Package.isCompatibleWith 方法相同。若未檢測到?jīng)_突,則返回代碼為 0。如果擴(kuò)展目錄中任何一個 jar 文件的清單有相同的 specification-title 和相同的或更新的 specification-version 號,則返回非零錯誤代碼。如果 targetfile.jar 的清單中沒有 specification-title 或 specification-version 屬性,則同樣返回非零錯誤代碼。命令選項-verbose 對擴(kuò)展目錄中的 Jar 文件進(jìn)行檢查時,列出文件。此外,還報告目標(biāo) jar 文件的清單屬性及所有沖突的 jar 文件。
30、jar.exe
功能說明:
Java歸檔工具
語法:
jar [ 命令選項 ] [manifest] destination input-file [input-files]補(bǔ)充說明:
jar工具是個java應(yīng)用程序,可將多個文件合并為單個JAR歸檔文件。jar是個多用途的存檔及壓縮工具,它基于ZIP和ZLIB壓 縮格式。然而,設(shè)計jar的主要目的是便于將java applet或應(yīng)用程序打包成單個歸檔文件。將applet或應(yīng)用程序的組件(.class 文件、圖像和聲音)合并成單個歸檔文件時,可以用java代理(如瀏覽器)在一次HTTP事務(wù)處理過程中對它們進(jìn)行下載,而不是對每個組件都要求一個新連 接。這大大縮短了下載時間。jar還能壓縮文件,從而進(jìn)一步提高了下載速度。此外,它允許applet的作者對文件中的各個項進(jìn)行簽名,因而可認(rèn)證其來 源。jar工具的語法基本上與tar命令的語法相同。
命令選項
-c 在標(biāo)準(zhǔn)輸出上創(chuàng)建新歸檔或空歸檔。 -t 在標(biāo)準(zhǔn)輸出上列出內(nèi)容表。 -x[file] 從標(biāo)準(zhǔn)輸入提取所有文件,或只提取指定的文件。如果省略了file,則提取所有文件;否則只提取指定文件。 -f 第二個參數(shù)指定要處理的jar文件。在-c(創(chuàng)建)情形中,第二個參數(shù)指的是要創(chuàng)建的jar文件的名稱(不是在標(biāo)準(zhǔn)輸出上)。在-t(表(或-x(抽取)這兩種情形中,第二個參數(shù)指定要列出或抽取的jar文件。 -v 在標(biāo)準(zhǔn)錯誤輸出設(shè)備上生成長格式的輸出結(jié)果。 -m 包括指定的現(xiàn)有清單文件中的清單信息。用法舉例:
“jar cmf myManifestFile myJarFile *.class”-0 只儲存,不進(jìn)行 ZIP 壓縮。-M 不創(chuàng)建項目的清單文件。-u 通過添加文件或更改清單來更新現(xiàn)有的 JAR 文件。
例如:”jar -uf foo.jar foo.class”將文件 foo.class 添加到現(xiàn)有的JAR文件foo.jar中,而”jar umf manifest foo.jar”則用manifest中的信息更新foo.jar的清單。-C 在執(zhí)行 jar 命令期間更改目錄。
例如:”jar -uf foo.jar -C classes *”將classes目錄內(nèi)的所有文件加到foo.jar中,但不添加類目錄本身。
程序示例
1:將當(dāng)前目錄下所有CLASS文件打包成新的JAR文件:jar cf file.jar *.class
2:顯示一個JAR文件中的文件列表jar tf file.jar
3:將當(dāng)前目錄下的所有文件增加到一個已經(jīng)存在的JAR文件中jar cvf file.jar *
33、javadoc
功能說明:
Java API文檔生成器從Java源文件生成API文檔HTML頁。
語法:
javadoc [ 命令選項 ] [ 包名 ] [ 源文件名 ] [ @files ]其中[ 包名 ]為用空格分隔的一系列包的名字,包名不允許使用通配符,如(*)。
[ 源文件名 ]為用空格分隔的一系列的源文件名,源文件名可包括路徑和通配符,如(*)。
[ @files ]是以任何次序包含包名和源文件的一個或多個文件。
補(bǔ)充說明
Javadoc解析Java源文件中的聲明和文檔注釋,并產(chǎn)生相應(yīng)的HTML頁缺省),描述公有類、保護(hù)類、內(nèi)部類、接口、構(gòu)造函數(shù)、方法和域。在 實現(xiàn)時,Javadoc要求且依賴于java編譯器完成其工作。Javadoc調(diào)用部分 javac編譯聲明部分,忽略成員實現(xiàn)。它建立類的內(nèi)容豐富的內(nèi)部表示,包括類層次和”使用”關(guān)系,然后從中生成HTML。Javadoc還從源代碼的文 檔注釋中獲得用戶提供的文檔。當(dāng)Javadoc建立其內(nèi)部文檔結(jié)構(gòu)時,它將加載所有引用的類。由于這一點,Javadoc必須能查找到所有引用的類,包括 引導(dǎo)類、擴(kuò)展類和用戶類。
命令選項
-overview i>path/filename 指定javadoc應(yīng)該從path/filename所指定的"源"文件中獲取概述文檔,并將它放到概述頁中(overview- summary.html)。其中path/filename 是相對于-sourcepath的相對路徑名。 -public 只顯示公有類及成員。-protected 只顯示受保護(hù)的和公有的類及成員。這是缺省狀態(tài)。 -package 只顯示包、受保護(hù)的和公有的類及成員。 -private 顯示所有類和成員。 -help 顯示聯(lián)機(jī)幫助,它將列出這些javadoc和doclet命令行選項。 -doclet class 指定啟動用于生成文檔的docle 的類文件。該doclet定義了輸出的內(nèi)容和格式。如果未使用-doclet選項,則javadoc使用標(biāo)準(zhǔn)doclet生成缺省HTML格式。該類必須 包含start(Root)法。該啟動類的路徑由 -docletpath選項定義。-docletpath classpathlist 指定doclet類文件的路徑,該類文件用-doclet選項指定。如果doclet已位于搜索路徑中,則沒有必要使用該選項。-1.1 生成具有用Javadoc 1.1生成的文檔的外觀和功能的文檔。也就是說,頁的背景為灰色,用圖像做頁眉,使用bullet列表而不是表格,具有單層目的目錄結(jié)構(gòu),不包含繼承 API,不使?*** TML框架,并且不支持內(nèi)部類。該選項還自動將索引分割成每個字母一個文件。如果想要這種外觀,則該選項比javadoc 1.1優(yōu)越之處等于修正了一些錯誤。 -sourcepath sourcepathlist當(dāng)將包名傳遞到j(luò)avadoc命令中時,指定定位源文件(.java)的搜索路徑。注意只有當(dāng)用 javadoc命令指定包名時才能使用sourcepath選項 -- 它將不會查找傳遞到j(luò)avadoc命令中的.java文件。如果省略-sourcepath,則javadoc使用類路徑查找源文件。- classpath classpathlist 指定javadoc將在其中查找引用類的路徑 -- 引用類是指帶文檔的類加上它們引用的任何類。Javadoc將搜索指定路徑的所有子目錄。classpathlist可以包括多個路徑,彼此用逗號分隔。 -bootclasspath classpathlist 指定自舉類所在路徑。它們名義上是Java平臺類。這個bootclasspath是Javadoc將用來查找源文件和類文件的搜索路徑的一部分。在 classpathlist中用冒號(:)分隔目錄。-extdirs dirlist 指定擴(kuò)展類所在的目錄。它們是任何使用Java擴(kuò)展機(jī)制的類。這個 extdirs是Javadoc將用來查找源文件和在文件的搜索路徑的一部分。在dirlist中用冒號(:)分隔目錄。-verbose 在javadoc運行時提供更詳細(xì)的信息。不使用verbose選項時,將顯示加載源文件、生成文檔(每個源文件一條信息)和排序的信息。verbose 選項導(dǎo)致打印額外的信息,指定解析每個java源文件的毫秒數(shù)。-locale language_country_variant 指定javadoc在生成文檔時使用的環(huán)境。 -encoding name 指定源文件編碼名,例如EUCJIS/SJIS。如果未指定該選項,則使用平臺缺省轉(zhuǎn)換器。-J[flag] 將flag直接傳遞給運行javadoc的運行時系統(tǒng)java。注意在J和flag之間不能有空格。標(biāo)準(zhǔn) Doclet 提供的選項-d directory 指定javadoc保存生成的HTML件的目的目錄。省略該選項將導(dǎo)致把文件保存到當(dāng)前目錄中。其中directory可以是絕對路徑或相對當(dāng)前工作目錄 的相對路徑。-use 對每個帶文檔類和包包括一個"用法"頁。該頁描述使用給定類或包的任何 API 的包、類、方法、構(gòu)造函數(shù)和域。對于給定類 C,使用類 C 的任何東西將包括 C 的子類、聲明為 C 的域、返回 C 的方法以及具有 C 類型參數(shù)的方法和構(gòu)造函數(shù)。-version 在生成文檔中包括 @version 文本。缺省地將省略該文本。-author 在生成文檔中包括 @author 文本。-splitindex 將索引文件按字母分割成多個文件,每個字母一個文件,再加上一個包含所有以非字母字符開頭的索引項的文件。 -windowtitle[title] 指定放入 HTML <title> 標(biāo)記中的標(biāo)題。它將出現(xiàn)在窗口標(biāo)題欄中和為該頁創(chuàng)建的任何瀏覽器書簽(最喜愛的位置)中。該標(biāo)題不應(yīng)該包含任何 HTML 標(biāo)記,因為瀏覽器將不能正確解釋它們。在 title 中的任何內(nèi)部引號必須轉(zhuǎn)義。如果省略 -windowtitle,則 Javadoc 對該選項使用 -doctitle 的值。-doctitle[title] 指定放置在靠近概述概覽文件頂部的標(biāo)題。該標(biāo)題將作為一級標(biāo)題,居中地直接放在導(dǎo)航欄下面。title 可包含 html 標(biāo)記和空格,但是如果這樣,則必須用引號將它括起。在 title 中的任何內(nèi)部引號必須轉(zhuǎn)義。-title[title] 該選項不再存在。它僅存在于 Javadoc 1.2 的 Beta 版中。它已重命名為 -doctitle。重命名該選項是為了更清楚地表示它定義文檔標(biāo)題而不是窗口標(biāo)題。-header[header] 指定放置在每個輸出文件頂部的頁眉文本。該頁眉將放在上部導(dǎo)航欄的右邊。header 可包含 HTML 標(biāo)記和空格,但是如果這 樣則必須用引號將它括起。在 header 中的任何內(nèi)部引號必須轉(zhuǎn)義。 -footer[footer] 指定放置在每個輸出文件底部的腳注文本。腳本將放置在下部導(dǎo)航欄的右邊。footer 可包含 html 標(biāo)記和空格,但是如果這樣,則必須用引號將它括起。在 footer 中的任何內(nèi)部引號必須轉(zhuǎn)義。-bottom[text] 指定放置在每個輸出文件底部的文本。該文本將放置在頁底,位于下部導(dǎo)航欄的下面。其中 text 可包含 HTML 標(biāo)記和空格,但是如果這樣,則必須用引號將它括起。在 text 中的任何內(nèi)部引號必須轉(zhuǎn)義。 -link[docURL] 創(chuàng)建鏈接指向已用 javadoc-生成的外部引用類的文檔。參數(shù) docURL是想要鏈接到的 javadoc-生成的外部文檔的 URL。該位置可以是相對的或絕對的 URL。 -linkoffline[docURL][packagelistURL] 該選項為外部引用類名字創(chuàng)建指向文檔的鏈接。- group[groupheading]packagepattern:packagepattern:... 將概述頁上的包分成指定的組,每組一個表格。用不同的 -group 選項指定每個組。各組按命令行中指定的次序出現(xiàn)在頁面上。組內(nèi)的包按字母排序。對于給定 -group 選項,與 packagepattern 表達(dá)式列表匹配的包出現(xiàn)在標(biāo)題為 groupheading 的表格中。-nodeprecated 防止在文檔中生成任何不鼓勵使用的 API。它執(zhí)行-nodeprecatedlist 所做的事情,并且它不在文檔其余部分生成任何不鼓勵使用的 API。當(dāng)編寫代碼并不想被不鼓勵使用的代碼分心時,這是非常有用的。 -nodeprecatedlist 防止在生成文件中包含不鼓勵使用的 API 列表(deprecated-list.html)并防止在導(dǎo)航欄中包含該頁的鏈接。(但是,javadoc 繼續(xù)在文檔其余部分生成不鼓勵使用的 API。) 如果源代碼未包含不鼓勵使用的 API,并且想要導(dǎo)航欄更干凈,則它是非常有用的。 -notree 在生成文檔中忽略類/接口層次。缺省地,將產(chǎn)生該層次。-noindex 在生成文檔中忽略索引。缺省地,將產(chǎn)生索引。-nohelp 在輸出的每頁頂部和底部的導(dǎo)航欄中忽略"幫助"鏈接。 -nonavbar 防止產(chǎn)生導(dǎo)航欄、頁眉和腳注,否則它們將出現(xiàn)在生成頁的頂部和底部。它對"bottom"選項沒有影響。當(dāng)只對內(nèi)容感興趣并且沒有必要導(dǎo)航時,例如僅將文 件轉(zhuǎn)換成 PostScript 或 PDF 以進(jìn)行打印,-nonavbar 選項是非常有用的。 -helpfile[path/filename] 指定頂部和底部導(dǎo)航欄中"幫助"鏈接所鏈接到的替代幫助文件 path/filename 的路徑。不使用該選項時,Javadoc 自動創(chuàng)建幫助文件 help-doc.html,它在 Javadoc 中硬編碼。該選項使得可覆蓋這種缺省情況。其中 filename 可以是任何名字,不局限于 help-doc.html -- Javadoc 將相應(yīng)調(diào)整導(dǎo)航欄中的鏈接。 -stylesheetfile[path/filename] 指定替代 HTML 樣式表單文件的路徑。不使用該選項時,Javadoc 將自動創(chuàng)建樣式表單文件 stylesheet.css,它在 Javadoc 中硬編碼。該選項使得可覆蓋這種缺省情況。其中 filename 可以是任何名字,不局限于 stylesheet.css。 -docencoding[name] 指定輸出 HTML 文件的編碼方式。總結(jié): 在新發(fā)布的JDK1.5/J2SE 5帶了一組新的試驗工具。 性能監(jiān)測工具jconsole ,jps,jstat,jstatd。同時一些新的故障發(fā)現(xiàn)和修改工具也可以下載了。這些工具能夠顯示內(nèi)存表,在線程中生成堆棧跟蹤,以及給一個進(jìn)程或者 核心打印配置信息。監(jiān)測,管理工具
jconsole:
J2SE監(jiān)測和管理控制臺—一個同JMX兼容的監(jiān)測Java虛擬機(jī)的圖形工具。其能夠監(jiān)視當(dāng)?shù)鼗蛘哌h(yuǎn)程的Java虛擬機(jī)。 jps:java虛擬機(jī)進(jìn)程狀態(tài)工具—在目標(biāo)系統(tǒng)上列出裝備有HotSpot Java的虛擬機(jī) jstat:java虛擬機(jī)統(tǒng)計監(jiān)視工具—附加到一個裝備了HotSpot的java虛擬機(jī)上來采集并且記錄性能統(tǒng)計情況 jstatd:java虛擬機(jī)的jstat守護(hù)程序—啟動一個RMI服務(wù)器程序來監(jiān)視各個HotSpot java虛擬機(jī)的創(chuàng)建和中止。并且提供了一個訪問遠(yuǎn)程監(jiān)視工具接入的接口。
故障工具
info:
java的配置信息。打印出一個給定的進(jìn)程或者核心文件或者遠(yuǎn)程debug服務(wù)器的配置信息。
jsadebugd:
Java實用Agent調(diào)試守護(hù)進(jìn)程—-連接一個進(jìn)程或者一個核心文件,使得其運行像一個調(diào)試服務(wù)器。
jmap:
Java內(nèi)存映射—-打印共享對象內(nèi)存映射或者一個給定的進(jìn)程或者核心對象或者遠(yuǎn)程調(diào)試服務(wù)器上堆內(nèi)存的細(xì)節(jié)
jstack:
Java堆棧跟蹤—打印出給定的進(jìn)程或者核心文件或者遠(yuǎn)程調(diào)試服務(wù)器的線程的堆棧跟蹤信息 另外在JDK里面,很多常用的標(biāo)準(zhǔn)的工具: 如基本工具(javac,java,javadoc,apt,appletviewer,jar,jdb,javah,javap,extcheck) 安全工具(keytool,jarsigner,policytool,kinit,klist,ktab)
國際化工具(native2ascii)
遠(yuǎn)程方法調(diào)用(RMI)工具(rmic,rmiregistry,rmid,serialver)
Java IDL和RMI-IIOP工具(tnameserv,idlj,orbd,servertool)
Java部署工具(pack200,unpack200)
Java插件工具(htmlconverter)
Java Web Start tools(javaws)
Java SE 6支持postmortem可觀察性工具-它能夠從掛起的Java進(jìn)程或Java核心復(fù)制中獲得信息。這些工具(除了jhat外)都使用Solaris libproc庫來依附到和讀取被觀察的程序。在觀察期間,目標(biāo)程序被掛起。當(dāng)Java進(jìn)程被掛起或當(dāng)從一個Java進(jìn)程中發(fā)生一個核心復(fù)制時,可以使用這些工具。在任何可能的情況下,請考慮使用gcore來捕獲系統(tǒng)的核心復(fù)制的一個快照并且使用任何下列工具”離線”分析核心復(fù)制。
(一) jinfo
jinfo打印一個給定的Java進(jìn)程或核心文件或一個遠(yuǎn)程調(diào)試服務(wù)器的Java配置信息。配置信息包括Java系統(tǒng)屬性和JVM命令行標(biāo)志(更多信息,請參考《jinfo-Configuration Info》)。
(二) jmap
jmap:如果這個工具不使用任何選項(除了pid或core選項)運行,那么它顯示類似于Solaris的pmap工具所輸出的信息。這個工具支持針對Java堆可觀察性的若干其它選項。
在Java SE 6平臺中,新加入了一個-dump選項。這樣可以使jmap能夠把Java堆信息復(fù)制到一個文件中,然后我們可以使用新的jhat命令(見下面一節(jié))來分析它。
jmap -dump選項并不使用Solaris libproc來實現(xiàn)實時處理;而是,它運行當(dāng)前正運行的JVM中的一小段代碼,由此來實現(xiàn)堆復(fù)制。既然這種堆復(fù)制代碼運行于JVM內(nèi)部,那么其速度是比 較快的。堆復(fù)制的效果大致相當(dāng)于實現(xiàn)一次”完全的GC”(對整個堆的垃圾收集),再加上把該堆的內(nèi)容寫入到文件中。實現(xiàn)堆復(fù)制的另外一種可能的思路是使用 gcore來進(jìn)行核心復(fù)制并且運行”jmap -dump”(這與以”離線”方式運行的核心復(fù)制形成對照)。
(三) jstack
jstack等價于Solaris的pstack工具。jstack打印所有的Java線程的堆棧跟蹤信息(可選地包括本機(jī)幀信息),請參考《jstack-堆棧跟蹤》。關(guān)于鎖和死鎖的信息也可以被打印,請參考java.util.concurrent locks。
(四) jsadebugd
jsadebugd依附到一個Java進(jìn)程或核心文件并且擔(dān)當(dāng)一個調(diào)試服務(wù)器的作用。遠(yuǎn)程客戶,例如jstack、jmap和jinfo,都能夠通過Java RMI依附到該服務(wù)器。
(五) jhat
jhat是一個Java堆復(fù)制瀏覽器。這個工具分析Java堆復(fù)制文件(例如,由上面的 “jmap -dump”所產(chǎn)生的)。Jhat啟動一個允許堆中的對象在web瀏覽器中進(jìn)行分析的web服務(wù)器。這個工具并不是想用于應(yīng)用系統(tǒng)中而是用于”離線”分 析。”jhat工具是平HIDDEN立的”,其意思是,它可以被用來觀察在任何平臺上所產(chǎn)生的堆復(fù)制。例如,我們有可能在Linux系統(tǒng)上使用jhat來 觀察一個在Solaris OS上所產(chǎn)生的堆復(fù)制。
總結(jié)
- 上一篇: 服务器维护,日志分析常用命令
- 下一篇: oracle11g 数据库导出报“ EX