天天看點

Java工程師必知詞彙:JDK

|名詞定義|

JDK(Java Development Kit)是Sun公司針對Java開發人員釋出的免費軟體開發工具包(SDK,Software development kit)。

自從Java推出以來,JDK已經成為使用最廣泛的Java SDK。由于JDK的一部分特性采用商業許可證,而非開源。是以,2006年Sun宣布将釋出基于GPL的開源JDK,使JDK成為自由軟體。在去掉了少量閉源特性之後,Sun最終促成了GPL的OpenJDK的釋出。

|發展曆程|

對于JDK而言,有其本身的發展曆史,主要有如下的幾個标志性版本:

1、1995年5月23,JDK1.0的開發包釋出,同時在1996年的時候,JDK正式提供下載下傳,标志着Java的誕生;

2、1998年12月04日,JDK1.2版本推出,而後Java正式更名為Java2;

3、2005年5月23 日,十周年大會上,推出JDK1.5版本,同時這個版本也是帶來新特性以及開發支援更多的曆史版本,可以說這一版本直接決定了Java後續十年的技術核心;

4、2014年,Java提供了JDK1.8版本,并且支援有Lambda表達式,而且可以使用函數式程式設計;

5、2017年,Java提供了JDK1.9版本,進一步提升了JDK1.8的穩定性;

6、2018年,Java提供了JDK1.10版本,是屬于JDK1.9的穩定版。

|适用場景|

作為Java語言的SDK,普通使用者并不需要安裝JDK來運作Java程式,而隻需要安裝JRE(Java Runtime Environment)。而程式開發者必須安裝JDK來編譯、調試程式。

|JDK元件|

JDK包含了一批用于Java開發的元件,其中包括:

javac:編譯器,将字尾名為.java的源代碼編譯成字尾名為“.class”的位元組碼

java:運作工具,運作.class的位元組碼

jar:打包工具,将相關的類檔案打包成一個檔案

javadoc:文檔生成器,從源碼注釋中提取文檔,注釋需符合規範

jdb debugger:調試工具

jps:顯示目前java程式運作的程序狀态

javap:反編譯程式

appletviewer:運作和調試applet程式的工具,不需要使用浏覽器

javah:從Java類生成C頭檔案和C源檔案。這些檔案提供了連接配接膠合,使Java和C代碼可進行互動。

javaws:運作JNLP程式

extcheck:一個檢測jar包沖突的工具

apt:注釋處理工具

jhat:java堆分析工具

jstack:棧跟蹤程式

jstat:JVM檢測統計工具

jstatd:jstat守護程序

jinfo:擷取正在運作或崩潰的java程式配置資訊

jmap:擷取java程序記憶體映射資訊

idlj:IDL-to-Java編譯器。将IDL語言轉化為java檔案

policytool:一個GUI的政策檔案建立和管理工具

jrunscript:指令行腳本運作

JDK中還包括完整的JRE(Java Runtime Environment),Java運作環境,也被稱為private runtime。包括了用于産品環境的各種庫類,如基礎類庫rt.jar,以及給開發人員使用的補充庫,如國際化與本地化的類庫、IDL庫等等。

JDK中還包括各種樣例程式,用以展示Java API中的各部分。

|參考資料|

[1] 阿裡雲大學

[2] Java開發者

[3].OpenJDK.

[4].Oracle公布JVM未來戰略 JDK将包含閉源特性 - 51CTO.COM. 開發頻道 51CTO.COM. [2018-03-20].

[5].Javah - 軟體人生,雕刻時光 - ITeye部落格. ITeye部落格. [2018-03-20] (中文(中國大陸)‎).

[6].Java中Annotation(注釋)系列學習筆記(4)_時空網絡_新浪部落格. [2018-03-20].

[7].IBM Knowledge Center. IBM Knowledge Center. [2018-03-20] (美國英語).