JDK14中的java tools簡介

故事發生了

在尚未IDE的時代,高手們仍是經過記事原本編程。那時候可以寫程序的都是牛人。能把程序寫得好的更是牛人中的牛人。java

禿頭大叔的程序員形象就是在那個時候創建起來的。程序員

還記得十幾年前的那一個春天,微風不動,太陽都羞紅了臉。由於那時候的我還在一個javac,一個java的編譯,運行着java程序。shell

雖然效率低下,可是看着我跑起來的一個又一個hello world,內心充滿了歡喜。編程

驚喜事後即是失落,java實在太難用了太複雜了,我仍是回去寫C語言吧。eclipse

直到有一天,有人向我推薦了eclipse,它就像是一道閃電照亮了我前進的方向。今後什麼javac,java都見鬼去吧,我只要eclipse。模塊化

不少年以後,我從eclipse轉向了IDEA,開發工具愈來愈趁手,而後我已經差很少快忘記了java原來還提供了一系列的java tools供咱們使用。工具

都說要勿忘初心,因而藉着JDK14的發佈,我又一次回顧了java tools提供的工具,竟然有了驚喜的發現。學習

java tools簡介

JDK14中提供了多達31中工具,慚愧的是,第一次看到它們我只認識其中的部分。士知恥然後勇,因而我奮發圖強,終於在今天將它們全都認識了。開發工具

31一個工具,這裏我先簡單介紹一下,後續再針對複雜的,特別有用的工具作一個專門的說明。命令行

如下排名僅按字母順序,不表明任何我的觀點

jaotc

一個java的靜態編譯器,爲編譯好的java方法生成native代碼。

jar

jar包你們都很熟悉了,使用jar命令能夠用來打包和解壓jar文件。

jarsigner

jar包打完了,使用jarsigner來對jar包作簽名和認證。

java

使用java能夠運行java程序。

javac

javac用來編譯java文件,將文本文件編譯成二進制的class文件。

javadoc

javadoc能夠將代碼中寫的註釋文檔生成HTML頁面供你們參考。若是你有看過JDK的源代碼的話,能夠看到源代碼裏面寫了不少註釋。你們能夠學習一下。由於註釋很重要。

javap

java自帶的反編譯工具,能夠將二進制的class文件反編譯成爲人類可讀的代碼。

這個反編譯工具可能不夠IDE自帶的反編譯工具強大。

jcmd

這裏的d表明的是diagnostic,經過這個命令能夠對正在運行的JVM進行調試。

這是一個很是有用的調試工具,咱們在後面的文章中會詳細講解。

jconsole

jconsole是一個GUI客戶端,能夠對現有的java程序進行管理。

他們的鏈接協議是JMX。不知道爲何國內的公司好像不多用到JMX。um...這個問題等我有時間了研究一下。

jdb

Java Debugger (JDB)是一個命令行的debug工具,提供了一系列的debug程序的功能。

jdeprscan

jdeprscan是一個分析工具,用來掃描jar或者class文件中的deprecated API。

jdeps

jdeps是一個java class依賴的分析工具。

jfr

jfr是Java Flight Recorder的縮寫,jfr是java應用程序的分析工具。它能夠收集JVM在運行期間所產生的一系列事件,並生成文件和分析。

後面咱們會用一篇文章詳細講解JFR。

jhsdb

jhsdb是一個分析工具,能夠分析正在運行的java程序中,也能夠分析coredump。

jinfo

jinfo爲特定的java進程生成運行時的java配置信息。

jjs

jjs用來運行Nashorn engine。

jlink

從JDK9以後,java已經模塊化了。jlink能夠將模塊和他們的依賴組織起來,生成一個自定義的運行時環境。

jmap

jmap能夠打印出某個java進程的堆信息。咱們會在後面的文章中詳細講解。

jmod

jmod用來建立和解析JMOD文件。

jpackage

jpackage能夠用來打包自運行的java程序。

jps

列出機子上面的java進程。

jrunscript

啓動一個命令行shell,這個shell支持交互和批處理模式。

jshell

一個可互動的java shell環境。

jstack

打印java stack信息,主要用在debug中。後面咱們會詳細講解。

jstat

用於監控JVM的統計信息。

jstatd

jstatd是一個RMI服務程序,用來遠程監控JVM。

keytool

生成和管理密鑰,證書的工具。

rmic

用來生成遠程方法調用的stub和skeleton類。

rmid

啓動一個守護進程,容許在JVM中註冊和實例化對象。

rmiregistry

建立一個RMI對象的註冊器。

serialver

爲一個或多個class生成serialVersionUID。

總結

以上的31個工具就是JDK14提供的。後面咱們會挑其中幾個對咱們的程序調試和定位問題很是有用的幾個工具來說解。

本文做者:flydean程序那些事

本文連接:http://www.flydean.com/jdk14-java-tools/

本文來源:flydean的博客

歡迎關注個人公衆號:程序那些事,更多精彩等着您!

相關文章
相關標籤/搜索