溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JDK14中的java tools是什么

發(fā)布時間:2020-07-29 13:46:31 來源:億速云 閱讀:157 作者:小豬 欄目:編程語言

小編這次要給大家分享的是JDK14中的java tools是什么,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

1.1 JDK 14詳細(xì)概述

JDK 8 已經(jīng)在 2014年 3月 18日正式可用,JDK 8作為長期支持(Long-Term-Support)版本,距離現(xiàn)在已經(jīng) 5年多時間過去了。5年時間里很多企業(yè)也都換上了 JDK 8,2018年09月25日作為下一個LTS的JDK版本:JDK 11也應(yīng)運而生,Oracle表示會對JDK 11提供大力支持、長期支持。之后陸續(xù)發(fā)布了JDK 12 和JDK 13,JDK 14在 2020年 3月17日正式發(fā)布。

1.2 JDK 14總體概覽

Oracle在2020年3月17日宣布Java 14(Oracle JDK 14)的全面上市。Java 14通過每六個月發(fā)布一次新功能,為企業(yè)和開發(fā)人員社區(qū)提供新的增強(qiáng)功能,繼續(xù)了Oracle加快創(chuàng)新的承諾。最新的Java開發(fā)工具包(JDK)提供了新功能,其中包括兩項備受期待的新預(yù)覽功能–實例匹配的模式匹配(JEP 305)和記錄(JEP 359),以及文本塊的第二個預(yù)覽(JEP 368)。此外,最新的Java版本增加了對switch表達(dá)式的Java語言支持,公開了用于持續(xù)監(jiān)控JDK Flight Recorder數(shù)據(jù)的新API,將低延遲Z垃圾收集器的可用性擴(kuò)展到了macOS和Windows,并在孵化器模塊中添加了包裝完備的Java應(yīng)用程序和新的外部內(nèi)存訪問API,以安全,高效地訪問Java堆外部的內(nèi)存。

1.3 JDK 14官方計劃

我們可以在openjdk官網(wǎng)中觀察到JDK 14發(fā)布的詳細(xì)官方計劃和具體的新特性詳情,地址如下:

https://openjdk.java.net/projects/jdk/14/

下面看下JDK14 java tools簡介

故事發(fā)生了

在還沒有IDE的時代,高手們還是通過記事本來編程。那時候能夠?qū)懗绦虻亩际桥H恕D馨殉绦驅(qū)懙煤玫母桥H酥械呐H恕?/p>

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

還記得十幾年前的那一個春天,微風(fēng)不動,太陽都羞紅了臉。因為那時候的我還在一個javac,一個java的編譯,運行著java程序。

雖然效率低下,但是看著我跑起來的一個又一個hello world,心里充滿了歡喜。

驚喜過后便是失落,java實在太難用了太復(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一個工具,這里我先簡單介紹一下,后續(xù)再針對復(fù)雜的,特別有用的工具做一個專門的說明。

以下排名僅按字母順序,不代表任何個人觀點

一個java的靜態(tài)編譯器,為編譯好的java方法生成native代碼。

jar包大家都很熟悉了,使用jar命令可以用來打包和解壓jar文件。

jarsigner

jar包打完了,使用jarsigner來對jar包做簽名和認(rèn)證。

使用java可以運行java程序。

javac用來編譯java文件,將文本文件編譯成二進(jìn)制的class文件。

javadoc

javadoc可以將代碼中寫的注釋文檔生成HTML頁面供大家參考。如果你有看過JDK的源代碼的話,可以看到源代碼里面寫了很多注釋。大家可以學(xué)習(xí)一下。因為注釋很重要。

java自帶的反編譯工具,可以將二進(jìn)制的class文件反編譯成為人類可讀的代碼。

這個反編譯工具可能不夠IDE自帶的反編譯工具強(qiáng)大。

這里的d代表的是diagnostic,通過這個命令可以對正在運行的JVM進(jìn)行調(diào)試。

這是一個非常有用的調(diào)試工具,我們在后面的文章中會詳細(xì)講解。

jconsole

jconsole是一個GUI客戶端,可以對現(xiàn)有的java程序進(jìn)行管理。

他們的連接協(xié)議是JMX。不知道為什么國內(nèi)的公司好像很少用到JMX。um…這個問題等我有時間了研究一下。

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

jdeprscan

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

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

jfr是Java Flight Recorder的縮寫,jfr是java應(yīng)用程序的分析工具。它可以收集JVM在運行期間所產(chǎn)生的一系列事件,并生成文件和分析。

后面我們會用一篇文章詳細(xì)講解JFR。

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

jinfo為特定的java進(jìn)程生成運行時的java配置信息。

jjs用來運行Nashorn engine。

從JDK9之后,java已經(jīng)模塊化了。jlink可以將模塊和他們的依賴組織起來,生成一個自定義的運行時環(huán)境。

jmap可以打印出某個java進(jìn)程的堆信息。我們會在后面的文章中詳細(xì)講解。

jmod用來創(chuàng)建和解析JMOD文件。

jpackage

jpackage可以用來打包自運行的java程序。

列出機(jī)子上面的java進(jìn)程。

jrunscript

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

一個可互動的java shell環(huán)境。

打印java stack信息,主要用在debug中。后面我們會詳細(xì)講解。

用于監(jiān)控JVM的統(tǒng)計信息。

jstatd是一個RMI服務(wù)程序,用來遠(yuǎn)程監(jiān)控JVM。

keytool

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

用來生成遠(yuǎn)程方法調(diào)用的stub和skeleton類。

啟動一個守護(hù)進(jìn)程,允許在JVM中注冊和實例化對象。

rmiregistry

創(chuàng)建一個RMI對象的注冊器。

serialver

為一個或多個class生成serialVersionUID。

以上的31個工具就是JDK14提供的。后面我們會挑其中幾個對我們的程序調(diào)試和定位問題非常有用的幾個工具來講解。

看完這篇關(guān)于JDK14中的java tools是什么的文章,如果覺得文章內(nèi)容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI