JDK自帶工具之概覽

  • 2020 年 3 月 18 日
  • 筆記

在我們平常對java程式進行問題排查、性能調優時,如果沒有合適的工具,很多時候會事倍功半,甚至無法繼續進行下去。其實,jdk自身已經提供了很多強大的工具供我們使用。本文就對這些工具做一個概覽性的描述

—————–來自小馬哥的故事


小馬哥的JDK版本是

C:UsersXiaoMage>java -version    java version "1.8.0_91"    Java(TM) SE Runtime Environment (build 1.8.0_91-b15)    Java HotSpot(TM) 64-Bit Server VM (build 25.91-b15, mixed mode)

JAVA_HOME/bin下的工具有

 C:Program FilesJavajdk1.8.0_91bin 的目錄    [.]                  jconsole.exe         klist.exe  [..]                 jdb.exe              ktab.exe  appletviewer.exe     jdeps.exe            msvcr100.dll  extcheck.exe         jhat.exe             native2ascii.exe  idlj.exe             jinfo.exe            orbd.exe  jabswitch.exe        jjs.exe              pack200.exe  jar.exe              jli.dll              policytool.exe  jarsigner.exe        jmap.exe             rmic.exe  java-rmi.exe         jmc.exe              rmid.exe  java.exe             jmc.ini              rmiregistry.exe  javac.exe            jps.exe              schemagen.exe  javadoc.exe          jrunscript.exe       serialver.exe  javafxpackager.exe   jsadebugd.exe        servertool.exe  javah.exe            jstack.exe           tnameserv.exe  javap.exe            jstat.exe            unpack200.exe  javapackager.exe     jstatd.exe           wsgen.exe  javaw.exe            jvisualvm.exe        wsimport.exe  javaws.exe           keytool.exe          xjc.exe  jcmd.exe             kinit.exe                54 個文件      3,432,305 位元組                 2 個目錄 39,509,975,040 可用位元組

序號

工具名稱

描述

1

appletviewer.exe

用於運行並瀏覽applet小程式。

2

apt.exe

註解處理工具(Annotation Processing Tool),主要用於註解處理。

3

extcheck.exe

擴展檢測工具,主要用於檢測指定jar文件與當前已安裝的Java SDK擴展之間是否存在版本衝突。

4

idlj.exe

IDL轉Java編譯器(IDL-to-Java Compiler),用於為指定的IDL文件生成Java綁定。IDL意即介面定義語言(Interface Definition Language)。

5

jabswitch.exe

Java訪問橋開關(Java Access Bridge switch),用於啟用/禁用Java訪問橋。Java訪問橋內置於Java 7 Update 6及以上版本,主要為Windows系統平台提供一套訪問Java應用的API。

6

jar.exe

jar文件管理工具,主要用於打包壓縮、解壓jar文件。

7

jarsigner.exe

jar密匙簽名工具。

8

java.exe

Java運行工具,用於運行.class位元組碼文件或.jar文件。

9

javac.exe

Java編譯工具(Java Compiler),用於編譯Java源程式碼文件。

10

javadoc.exe

Java文檔工具,主要用於根據Java源程式碼中的注釋資訊生成HTML格式的API幫助文檔。

11

javafxpackager.exe

JavaFX包裝器,用於執行與封裝或簽名JavaFX應用有關的任務。

12

javah.exe

Java頭文件工具,用於根據Java類生成C/C++頭文件和源文件(主要用於JNI開發領域)。

13

javap.exe

Java反編譯工具,主要用於根據Java位元組碼文件反彙編為Java源程式碼文件。

14

java-rmi.exe

Java遠程方法調用(Java Remote Method Invocation)工具,主要用於在客戶機上調用遠程伺服器上的對象。

15

javaw.exe

Java運行工具,用於運行.class位元組碼文件或.jar文件,但不會顯示控制台輸出資訊,適用於運行圖形化程式。

16

javaws.exe

Java Web Start,使您可以從Web下載和運行Java應用程式,下載、安裝、運行、更新Java應用程式都非常簡單方便。

17

jcmd.exe

Java 命令行(Java Command),用於向正在運行的JVM發送診斷命令請求。

18

jconsole.exe

圖形化用戶介面的監測工具,主要用於監測並顯示運行於Java平台上的應用程式的性能和資源佔用等資訊。

19

jdb.exe

Java調試工具(Java Debugger),主要用於對Java應用進行斷點調試。

20

jhat.exe

Java堆分析工具(Java Heap Analysis Tool),用於分析Java堆記憶體中的對象資訊。

21

jinfo.exe

Java配置資訊工具(Java Configuration Information),用於列印指定Java進程、核心文件或遠程調試伺服器的配置資訊。

22

jmap.exe

Java記憶體映射工具(Java Memory Map),主要用於列印指定Java進程、核心文件或遠程調試伺服器的共享對象記憶體映射或堆記憶體細節。

23

jmc.exe

Java任務控制工具(Java Mission Control),主要用於HotSpot JVM的生產時間監測、分析、診斷。

24

jps.exe

JVM進程狀態工具(JVM Process Status Tool),用於顯示目標系統上的HotSpot JVM的Java進程資訊。

25

jrunscript.exe

Java命令行腳本外殼工具(command line script shell),主要用於解釋執行javascript、groovy、ruby等腳本語言。

26

jsadebugd.exe

Java可用性代理調試守護進程(Java Serviceability Agent Debug Daemon),主要用於附加到指定的Java進程、核心文件,或充當一個調試伺服器。

27

jstack.exe

Java堆棧跟蹤工具,主要用於列印指定Java進程、核心文件或遠程調試伺服器的Java執行緒的堆棧跟蹤資訊。

28

jstat.exe

JVM統計監測工具(JVM Statistics Monitoring Tool),主要用於監測並顯示JVM的性能統計資訊。

29

jstatd.exe

jstatd(VM jstatd Daemon)工具是一個RMI伺服器應用,用於監測HotSpot JVM的創建和終止,並提供一個介面,允許遠程監測工具附加到運行於本地主機的JVM上。

30

jvisualvm.exe

JVM監測、故障排除、分析工具,主要以圖形化介面的方式提供運行於指定虛擬機的Java應用程式的詳細資訊。

31

keytool.exe

密鑰和證書管理工具,主要用於密鑰和證書的創建、修改、刪除等。

32

kinit.exe

主要用於獲取或快取Kerberos協議的票據授權票據。

33

klist.exe

允許用戶查看本地憑據快取和密鑰表中的條目(用於Kerberos協議)。

34

ktab.exe

Kerberos密鑰表管理工具,允許用戶管理存儲於本地密鑰表中的主要名稱和服務密鑰。

35

native2ascii.exe

本地編碼到ASCII編碼的轉換器(Native-to-ASCII Converter),用於"任意受支援的字元編碼"和與之對應的"ASCII編碼和(或)Unicode轉義"之間的相互轉換。

36

orbd.exe

對象請求代理守護進程(Object Request Broker Daemon),它使客戶端能夠透明地定位和調用位於CORBA環境的伺服器上的持久對象。

37

pack200.exe

JAR文件打包壓縮工具,它可以利用Java類特有的結構,對普通JAR文件進行高效壓縮,以便於能夠更快地進行網路傳輸。

38

packager.exe

這是微軟提供的對象包裝程式,用於對象安裝包。

39

policytool.exe

策略工具,用於管理用戶策略文件(.java.policy)。

40

rmic.exe

Java RMI 編譯器,為使用JRMP或IIOP協議的遠程對象生成stub、skeleton、和tie類,也用於生成OMG IDL。

41

rmid.exe

Java RMI 激活系統守護進程,rmid啟動激活系統守護進程,允許在虛擬機中註冊或激活對象。

42

rmiregistry.exe

Java 遠程對象註冊表,用於在當前主機的指定埠上創建並啟動一個遠程對象註冊表。

43

schemagen.exe

XML schema生成器,用於生成XML schema文件。

44

serialver.exe

序列版本命令,用於生成並返回serialVersionUID。

45

servertool.exe

Java IDL 伺服器工具,用於註冊、取消註冊、啟動和終止持久化的伺服器。

46

tnameserv.exe

Java IDL瞬時命名服務。

47

unpack200.exe

JAR文件解壓工具,將一個由pack200打包的文件解壓提取為JAR文件。

48

wsgen.exe

XML Web Service 2.0的Java API,生成用於JAX-WS Web Service的JAX-WS攜帶型產物。

49

wsimport.exe

XML Web Service 2.0的Java API,主要用於根據服務端發布的wsdl文件生成客戶端存根及框架

50

xjc.exe

主要用於根據XML schema文件生成對應的Java類。

比較常用的是:

jvisualvm.exe jconsole.exe

參考資料

https://docs.oracle.com/javase/8/docs/technotes/tools/unix/toc.html

本文由 小馬哥 創作,採用 知識共享署名4.0 國際許可協議進行許可 本站文章除註明轉載/出處外,均為本站原創或翻譯,轉載前請務必署名