JDK
開發者 | 太陽電腦(母公司甲骨文公司) |
---|---|
目前版本 | 17.0.0(2021年9月14日 | )
程式語言 | Java |
作業系統 | Windows NT、macOS、Linux、Solaris |
平台 | IA-32、x64、ARM、SPARC |
類型 | 軟件開發套件 |
許可協定 | Sun協定(大部分代碼同時使用GPL) |
網站 | www |
Java Development Kit(JDK)是太陽電腦針對Java開發人員發佈的免費軟件開發套件(SDK,Software development kit)。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK。由於JDK的一部分特性採用商業許可證,而非開源[1]。因此,2006年太陽電腦宣佈將發佈基於GPL的開源JDK,使JDK成為自由軟件。在去掉了少量閉源特性之後,太陽電腦最終促成了GPL的OpenJDK的發佈。
用途
作為Java語言的SDK,普通用戶並不需要安裝JDK來執行Java程式,而只需要安裝JRE(Java Runtime Environment)。而程式開發者必須安裝JDK來編譯、除錯程式。
包含組件
JDK包含了一批用於Java開發的組件,其中包括:
- javac:編譯器,將字尾名為.java的原始碼編譯成字尾名為「.class」的位元組碼
- java:執行工具,執行.class的位元組碼
- jar:打包工具,將相關的類檔案打包成一個檔案
- javadoc:文件生成器,從原始碼註釋中提取文件,註釋需符合規範
- jdb debugger:除錯工具
- jps:顯示當前java程式執行的行程狀態
- javap:反編譯程式
- appletviewer:執行和除錯applet程式的工具,不需要使用瀏覽器
- javah:從Java類別生成C標頭檔和C原始檔。這些檔案提供了連接膠合,使Java和C代碼可進行互動。[2]
- javaws:執行JNLP程式
- extcheck:一個檢測jar包衝突的工具
- apt:註釋處理工具[3]
- jhat:java堆分析工具
- jstack:棧跟蹤程式
- jstat:JVM檢測統計工具
- jstatd:jstat守護行程
- jinfo:取得正在執行或崩潰的java程式組態資訊
- jmap:取得java行程主記憶體對映資訊
- idlj:IDL-to-Java編譯器。將IDL語言轉化為java檔案[4]
- policytool:一個GUI的策略檔案建立和管理工具
- jrunscript:命令列指令碼執行
JDK中還包括完整的JRE(Java Runtime Environment),Java執行環境,也被稱為private runtime。包括了用於產品環境的各種庫類,如基礎類別館rt.jar,以及給開發人員使用的補充庫,如國際化與本地化的類別館、IDL庫等等。
JDK中還包括各種樣常式序,用以展示Java API中的各部分。
系統需求
無論Linux、Windows或者Mac OS系統,JDK均有X86與X64甚至安騰架構的發行版本。且均為多語言發行,即根據系統語言的不同自動顯示不同語言的資訊。
版本
自JDK 5.0起,Java以兩種方式發佈更新[5]:
- Limited Update包含新功能和非安全修正,版本號是20的倍數
- Critical Patch Updates(CPUs)只包含安全修正,版本號將是上一個Limited Update版本號加上五的倍數後的奇數。
Java SE 7 Update 71之後則以雙版本發佈:
- 重要補丁更新(Critical Patch Update)
- 補丁集更新(Patch Set Update)
Oracle建議只有在當次PSU版有修正用戶遇到的特定問題時才安裝該PSU版[6]。
參見
- 軟件開發套件 (SDK)
參考文獻
- ^ Oracle公布JVM未来战略 JDK将包含闭源特性 - 51CTO.COM. 開發頻道 51CTO.COM. [2018-03-20]. (原始內容存檔於2018-03-20).
- ^ Javah - 软件人生,雕刻时光 - ITeye博客. ITeye網誌. [2018-03-20]. (原始內容存檔於2018-03-20) (中文(中國大陸)).
- ^ Java中Annotation(注释)系列学习笔记(4)_时空网络_新浪博客. [2018-03-20]. (原始內容存檔於2018-03-20).
- ^ IBM Knowledge Center. IBM Knowledge Center. [2018-03-20] (美國英語).
- ^ Java SE - Change in Version Numbering Scheme. ORACLE. May 6, 2013 [2013-05-16]. (原始內容存檔於2019-12-22).
- ^ Java CPU和PSU版本解释. ORACLE. 2014-10-14 [2016-05-03]. (原始內容存檔於2019-02-16).
外部連結
- New to Java Programming Center (頁面存檔備份,存於互聯網檔案館)(英文)
- OpenJDK(頁面存檔備份,存於互聯網檔案館)(英文)
- Java SE Downloads (頁面存檔備份,存於互聯網檔案館)(英文)