JDK 工具一覽

Java 坑如此大,需要慢慢填。

本文是列出JDK自帶的一些工具,介于篇幅,簡單列出工具列表及工具的作用。至少先做到知道有哪些工具,然后才能在實際中用到。

本文參考了官方介紹和本機man命令的介紹。

1. 標準工具

這些工具都是JDK提供的,通常都是長期支持的工具,JDK承諾這些工具比較好用。不同系統、不同版本之間可能會有差異,但是不會突然就有一個工具消失。

1.1 基礎 (appletviewer, extcheck, jar, java, javac, javadoc, javah, javap, jdb, jdeps)

工具 簡述
appletviewer 在沒有web瀏覽器的情況下運行和調試applet
extcheck 檢查Jar沖突的工具
jar 創建和管理Jar文件
java Java應用啟動器
javac 用于Java編程語言的編譯器
javadoc API文檔生成器
javah C頭文件和stub函數生成器,用于編寫native方法
javap 類文件反匯編器
jdb Java調試器
jdeps Java類依賴性分析器

1.2 安全 (keytool, jarsigner, policytool)

工具 簡述
keytool 管理密鑰庫和證書
jarsigner 生成并驗證JAR簽名
policytool 管理策略文件的GUI工具

1.3 國際化/i18n (native2ascii)

工具 簡述
native2ascii 將文本轉換為Unicode Latin-1

1.4 遠程方法調用/RMI (rmic, rmiregistry, rmid, serialver)

工具 簡述
rmic 為遠程對象生成stub函數和框架
rmiregistry 遠程對象注冊表服務
rmid 啟動激活系統守護程序
serialver 返回指定類的序列化版本ID

1.5 Java IDL 與 RMI-IIOP (tnameserv, idlj, orbd, servertool)

工具 簡述
tnameserv 提供對命名服務的訪問
idlj 生成映射OMG IDL接口的.java文件,并啟用以Java編程語言編寫的使用CORBA功能的應用程序的.java文件
orbd 提供從客戶端查找和調用CORBA環境服務端上的持久化對象的功能。使用ORBD代替瞬態命名服務tnameserv。ORBD包括瞬態命名服務和持久命名服務。ORBD工具集成了服務器管理器,互操作命名服務和引導名稱服務器的功能。當客戶端想進行服務器時定位,注冊和激活功能時,可以與servertool一起使用。
servertool 為應用程序員注冊,注銷,啟動和關閉服務器提供易用的接口

1.6 Java 發布工具 (javapackager, pack200, unpack200)

工具 簡述
javapackager 打包、簽名Java和JavaFX應用程序
pack200 使用Java gzip壓縮器將JAR文件轉換為壓縮的pack200文件。壓縮的壓縮文件是高度壓縮的JAR,可以直接部署,節省帶寬并減少下載時間。
unpack200 將pack200生成的打包文件轉換為JAR文件

1.7 Java Web 啟動工具 (javaws)

工具 簡述
javaws 啟動Java Web Start并設置各種選項的工具

1.8 故障排查,分析,監控和管理 (jcmd, jconsole, jmc, jvisualvm)

工具 簡述
jcmd JVM診斷命令工具,將診斷命令請求發送到正在運行的Java虛擬機。
jconsole 用于監控Java虛擬機的使用JMX規范的圖形工具。它可以監控本地和遠程JVM。它還可以監控和管理應用程序。
jmc Java任務控制(JMC)客戶端包含用于監控和管理Java應用程序的工具,而不會引入與這些工具相關聯的性能開銷。
jvisualvm 一種圖形化工具,可在Java虛擬機中運行時提供有關基于Java技術的應用程序(Java應用程序)的詳細信息。 Java VisualVM提供內存和CPU分析,堆轉儲分析,內存泄漏檢測,MBean訪問和垃圾收集。

1.9 WebService工具 (schemagen, wsgen, wsimport, xjc)

工具 簡述
schemagen 用于XML綁定的Schema生成器
wsgen 用于生成JAX-WS便攜式工件的工具。
wsimport 用于生成JAX-WS便攜式工件的工具。
xjc 用于XML綁定的編譯器

2. 實驗性工具

所謂的實驗性工具,就是HotSpot JDK提供了,但是可能在之后的某個版本中突然就不可用了。通過man命令查看這些工具的詳細介紹的時候,都會在第一行有This command is experimental and unsupported.這么一句。HotSpot JDK再三強調要謹慎使用,但是由于這些工具在Java性能調優方面作用太大,所以我們就謹慎的研究然后謹慎的使用吧。

2.1 監控 (jps, jstat, jstatd)

工具 簡述
jps JVM進程狀態工具 - 在目標系統上列出HotSpot Java虛擬機進程的描述信息
jstat JVM統計監控工具 - 根據參數指定的方式收集和記錄指定的jvm進程的性能統計信息
jstatd JVM jstat守護程序 - 啟動一個RMI服務器應用程序,用于監視測試的HotSpot Java虛擬機的創建和終止,并提供一個界面,允許遠程監控工具附加到在本地系統上運行的Java虛擬機。

2.2 故障排查 (jinfo, jhat, jmap, jsadebugd, jstack)

工具 簡述
jinfo Java的配置信息 - 打印給定進程或核心文件或遠程調試服務器的配置信息。
jhat 堆轉儲瀏覽器 - 在堆轉儲文件(例如,由jmap -dump生成)上啟動Web服務器,允許瀏覽堆信息。
jmap 用于Java的內存映射 - 打印給定進程或核心文件或遠程調試服務器的共享對象內存映射或堆內存詳細信息。
jsadebugd 適用于Java的可維護性代理調試守護程序 - 附加到進程或核心文件并充當調試服務器。
jstack Java的堆棧跟蹤 - 打印給定進程或核心文件或遠程調試服務器的線程堆棧信息

2.3 腳本工具 (jjs, jrunscript)

工具 簡述
jjs 運行Nashorn shell
jrunscript 運行支持交互式和批處理模式的命令行腳本shell

個人主頁: http://www.howardliu.cn

個人博文: JDK 工具一覽

CSDN主頁: http://blog.csdn.net/liuxinghao

CSDN博文: JDK 工具一覽

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,598評論 25 707
  • 從今天開始讀《深入理解 Java 虛擬機》一書,并開設了同名專題 深入理解 Java 虛擬機。計劃在 2 周內將全...
    SawyerZh閱讀 10,262評論 17 215
  • 姓名:周君會 學號:17011210526 轉載自: http://www.lxweimin.com/p/...
    lotus兒閱讀 1,950評論 1 9
  • 爺爺,我始終不愿意相信你竟然這樣輕易地離我而去,我的記憶被曾經的你糾纏不休,清晰的面部輪廓,嚴肅的神情,一板一眼地...
    鹿右右閱讀 202評論 0 1
  • 旅行大體分兩種,一種是我想去那個地方,身邊的人是誰并不重要;一種是我想和這個人在一起,去哪里并不重要。 ...
    七月生吾閱讀 309評論 0 0