JDK自帶工具概覽

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

JDK版本:

java version "1.8.0_92"

Java(TM) SE Runtime Environment (build 1.8.0_92-b14)

Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)

JAVA_HOME/bin下的工具截圖如下:

JAVA_HOME/bin截圖

appletviewer: 用于運行并瀏覽applet小程序。

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

idlj: IDL轉Java編譯器(IDL-to-Java Compiler),用于為指定的IDL文件生成Java綁定。IDL意即接口定義語言(Interface Definition Language)。

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

jarsigner: jar密匙簽名工具。

java: Java運行工具,用于運行.class字節碼文件或.jar文件。

javac: Java編譯工具(Java Compiler),用于編譯Java源代碼文件。

javadoc: Java文檔工具,主要用于根據Java源代碼中的注釋信息生成HTML格式的API幫助文檔。

javafxpackager: JavaFX包裝器,用于執行與封裝或簽名JavaFX應用有關的任務。JDK 8u20已經遷移此工具到javapackager。

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

javap: Java反編譯工具,主要用于根據Java字節碼文件反匯編為Java源代碼文件。

javapackager: 執行針對Java應用程序和JavaFX應用程序的打包和簽名的任務。包含了javafxpackager的功能。

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

jconsole: 圖形化用戶界面的監測工具,主要用于監測并顯示運行于Java平臺上的應用程序的性能和資源占用等信息。

jdeps: 用于分析Java class的依賴關系.

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

jhat: Java堆分析工具(Java Heap Analysis Tool),用于分析Java堆內存中的對象信息。

jinfo: Java配置信息工具(Java Configuration Information),用于打印指定Java進程、核心文件或遠程調試服務器的配置信息。

jjs: 對Nashorn引擎的調用。Nashorn是基于Java實現一個輕量級高性能的JavaScript運行環境。

jmap: Java內存映射工具(Java Memory Map),主要用于打印指定Java進程、核心文件或遠程調試服務器的共享對象內存映射或堆內存細節。

jmc: Java任務控制工具(Java Mission Control),主要用于HotSpot JVM的生產時間監測、分析、診斷。開發者可以使用jmc命令來創建JMC工具。https://docs.oracle.com/javacomponents/jmc-5-5/jmc-user-guide/toc.htm

jps: JVM進程狀態工具(JVM Process Status Tool),用于顯示目標系統上的HotSpot JVM的Java進程信息。

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

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

jstack: Java堆棧跟蹤工具,主要用于打印指定Java進程、核心文件或遠程調試服務器的Java線程的堆棧跟蹤信息。

jstat: JVM統計監測工具(JVM Statistics Monitoring Tool),主要用于監測并顯示JVM的性能統計信息,包括gc統計信息。

jstatd: jstatd(VM jstatd Daemon)工具是一個RMI服務器應用,用于監測HotSpot JVM的創建和終止,并提供一個接口,允許遠程監測工具附加到運行于本地主機的JVM上。

jvisualvm: JVM監測、故障排除、分析工具,主要以圖形化界面的方式提供運行于指定虛擬機的Java應用程序的詳細信息。

keytool: 密鑰和證書管理工具,主要用于密鑰和證書的創建、修改、刪除等。主要用于獲取或緩存Kerberos協議的票據授權票據。允許用戶查看本地憑據緩存和密鑰表中的條目(用于Kerberos協議)。Kerberos密鑰表管理工具,允許用戶管理存儲于本地密鑰表中的主要名稱和服務密鑰。

native2ascii: 本地編碼到ASCII編碼的轉換器(Native-to-ASCII Converter),用于”任意受支持的字符編碼”和與之對應的”ASCII編碼和(或)Unicode轉義”之間的相互轉換。

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

pack200: JAR文件打包壓縮工具,它可以利用Java類特有的結構,對普通JAR文件進行高效壓縮,以便于能夠更快地進行網絡傳輸。這是微軟提供的對象包裝程序,用于對象安裝包。

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

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

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

rmiregistry: Java 遠程對象注冊表,用于在當前主機的指定端口上創建并啟動一個遠程對象注冊表。

schemagen: XML schema生成器,用于生成XML schema文件。

serialver: 序列版本命令,用于生成并返回serialVersionUID。

servertool: Java IDL 服務器工具,用于注冊、取消注冊、啟動和終止持久化的服務器。

tnameserv: Java IDL瞬時命名服務。

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

wsgen: XML Web Service 2.0的Java API,生成用于JAX-WS Web Service的JAX-WS便攜式產物。

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

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

參考

JDK自帶工具之概覽

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

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,836評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,807評論 25 708
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,738評論 18 399
  • 前段時間,微信小程序剛剛傳出內測消息,那段時間被「微信小程序」各種刷屏,大家一窩蜂的轉發,大呼「微信小程序」要改變...
    黃鴻信閱讀 5,756評論 1 6
  • “花生對于糖醋小黃魚這道菜來說永遠就只是配菜,主角永遠只有小黃魚。她翻滾著,變化著,最后會被放上香菜提味,也會有人...
    伊抹茶閱讀 383評論 2 2