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