|名詞定義|
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] (美國英語).