Java 坑如此大,需要慢慢填。
本文是列出JDK自帶的一些工具,介于篇幅,簡單列出工具列表及工具的作用。至少先做到知道有哪些工具,然后才能在實際中用到。
本文參考了官方介紹和本機man
命令的介紹。
1. 標準工具
這些工具都是JDK提供的,通常都是長期支持的工具,JDK承諾這些工具比較好用。不同系統、不同版本之間可能會有差異,但是不會突然就有一個工具消失。
1.1 基礎 (appletviewer, extcheck, jar, java, javac, javadoc, javah, javap, jdb, jdeps)
1.2 安全 (keytool, jarsigner, policytool)
1.3 國際化/i18n (native2ascii)
1.4 遠程方法調用/RMI (rmic, rmiregistry, rmid, serialver)
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)
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)
個人主頁: http://www.howardliu.cn
個人博文: JDK 工具一覽
CSDN主頁: http://blog.csdn.net/liuxinghao
CSDN博文: JDK 工具一覽