JDK14中的java tools简介
文章目錄
- 故事發(fā)生了
- java tools簡介
- jaotc
- jar
- jarsigner
- java
- javac
- javadoc
- javap
- jcmd
- jconsole
- jdb
- jdeprscan
- jdeps
- jfr
- jhsdb
- jinfo
- jjs
- jlink
- jmap
- jmod
- jpackage
- jps
- jrunscript
- jshell
- jstack
- jstat
- jstatd
- keytool
- rmic
- rmid
- rmiregistry
- serialver
- 總結(jié)
故事發(fā)生了
在還沒有IDE的時(shí)代,高手們還是通過記事本來編程。那時(shí)候能夠?qū)懗绦虻亩际桥H恕D馨殉绦驅(qū)懙煤玫母桥H酥械呐H恕?/p>
禿頭大叔的程序員形象就是在那個(gè)時(shí)候建立起來的。
還記得十幾年前的那一個(gè)春天,微風(fēng)不動,太陽都羞紅了臉。因?yàn)槟菚r(shí)候的我還在一個(gè)javac,一個(gè)java的編譯,運(yùn)行著java程序。
雖然效率低下,但是看著我跑起來的一個(gè)又一個(gè)hello world,心里充滿了歡喜。
驚喜過后便是失落,java實(shí)在太難用了太復(fù)雜了,我還是回去寫C語言吧。
直到有一天,有人向我推薦了eclipse,它就像是一道閃電照亮了我前進(jìn)的方向。從此什么javac,java都見鬼去吧,我只要eclipse。
很多年之后,我從eclipse轉(zhuǎn)向了IDEA,開發(fā)工具越來越趁手,然后我已經(jīng)差不多快忘記了java原來還提供了一系列的java tools供我們使用。
都說要勿忘初心,于是借著JDK14的發(fā)布,我又一次回顧了java tools提供的工具,居然有了驚喜的發(fā)現(xiàn)。
java tools簡介
JDK14中提供了多達(dá)31中工具,慚愧的是,第一次看到它們我只認(rèn)識其中的部分。士知恥而后勇,于是我奮發(fā)圖強(qiáng),終于在今天將它們?nèi)颊J(rèn)識了。
31一個(gè)工具,這里我先簡單介紹一下,后續(xù)再針對復(fù)雜的,特別有用的工具做一個(gè)專門的說明。
以下排名僅按字母順序,不代表任何個(gè)人觀點(diǎn)
jaotc
一個(gè)java的靜態(tài)編譯器,為編譯好的java方法生成native代碼。
jar
jar包大家都很熟悉了,使用jar命令可以用來打包和解壓jar文件。
jarsigner
jar包打完了,使用jarsigner來對jar包做簽名和認(rèn)證。
java
使用java可以運(yùn)行java程序。
javac
javac用來編譯java文件,將文本文件編譯成二進(jìn)制的class文件。
javadoc
javadoc可以將代碼中寫的注釋文檔生成HTML頁面供大家參考。如果你有看過JDK的源代碼的話,可以看到源代碼里面寫了很多注釋。大家可以學(xué)習(xí)一下。因?yàn)樽⑨尯苤匾?/p>
javap
java自帶的反編譯工具,可以將二進(jìn)制的class文件反編譯成為人類可讀的代碼。
這個(gè)反編譯工具可能不夠IDE自帶的反編譯工具強(qiáng)大。
jcmd
這里的d代表的是diagnostic,通過這個(gè)命令可以對正在運(yùn)行的JVM進(jìn)行調(diào)試。
這是一個(gè)非常有用的調(diào)試工具,我們在后面的文章中會詳細(xì)講解。
jconsole
jconsole是一個(gè)GUI客戶端,可以對現(xiàn)有的java程序進(jìn)行管理。
他們的連接協(xié)議是JMX。不知道為什么國內(nèi)的公司好像很少用到JMX。um…這個(gè)問題等我有時(shí)間了研究一下。
jdb
Java Debugger (JDB)是一個(gè)命令行的debug工具,提供了一系列的debug程序的功能。
jdeprscan
jdeprscan是一個(gè)分析工具,用來掃描jar或者class文件中的deprecated API。
jdeps
jdeps是一個(gè)java class依賴的分析工具。
jfr
jfr是Java Flight Recorder的縮寫,jfr是java應(yīng)用程序的分析工具。它可以收集JVM在運(yùn)行期間所產(chǎn)生的一系列事件,并生成文件和分析。
后面我們會用一篇文章詳細(xì)講解JFR。
jhsdb
jhsdb是一個(gè)分析工具,可以分析正在運(yùn)行的java程序中,也可以分析coredump。
jinfo
jinfo為特定的java進(jìn)程生成運(yùn)行時(shí)的java配置信息。
jjs
jjs用來運(yùn)行Nashorn engine。
jlink
從JDK9之后,java已經(jīng)模塊化了。jlink可以將模塊和他們的依賴組織起來,生成一個(gè)自定義的運(yùn)行時(shí)環(huán)境。
jmap
jmap可以打印出某個(gè)java進(jìn)程的堆信息。我們會在后面的文章中詳細(xì)講解。
jmod
jmod用來創(chuàng)建和解析JMOD文件。
jpackage
jpackage可以用來打包自運(yùn)行的java程序。
jps
列出機(jī)子上面的java進(jìn)程。
jrunscript
啟動一個(gè)命令行shell,這個(gè)shell支持交互和批處理模式。
jshell
一個(gè)可互動的java shell環(huán)境。
jstack
打印java stack信息,主要用在debug中。后面我們會詳細(xì)講解。
jstat
用于監(jiān)控JVM的統(tǒng)計(jì)信息。
jstatd
jstatd是一個(gè)RMI服務(wù)程序,用來遠(yuǎn)程監(jiān)控JVM。
keytool
生成和管理密鑰,證書的工具。
rmic
用來生成遠(yuǎn)程方法調(diào)用的stub和skeleton類。
rmid
啟動一個(gè)守護(hù)進(jìn)程,允許在JVM中注冊和實(shí)例化對象。
rmiregistry
創(chuàng)建一個(gè)RMI對象的注冊器。
serialver
為一個(gè)或多個(gè)class生成serialVersionUID。
總結(jié)
以上的31個(gè)工具就是JDK14提供的。后面我們會挑其中幾個(gè)對我們的程序調(diào)試和定位問題非常有用的幾個(gè)工具來講解。
更多精彩內(nèi)容且看:
- 區(qū)塊鏈從入門到放棄系列教程-涵蓋密碼學(xué),超級賬本,以太坊,Libra,比特幣等持續(xù)更新
- Spring Boot 2.X系列教程:七天從無到有掌握Spring Boot-持續(xù)更新
- Spring 5.X系列教程:滿足你對Spring5的一切想象-持續(xù)更新
- java程序員從小工到專家成神之路(2020版)-持續(xù)更新中,附詳細(xì)文章教程
本文作者:flydean程序那些事
本文鏈接:http://www.flydean.com/jdk14-java-tools/
本文來源:flydean的博客
歡迎關(guān)注我的公眾號:程序那些事,更多精彩等著您!
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的JDK14中的java tools简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDK 14的新特性:switch表达式
- 下一篇: 你真的了解java class name