JDK

Java平台標準版、企業版或微型版平台之一的實作

Java Development KitJDK)是昇陽電腦針對Java開發人員發布的免費軟體開發套件(SDK,Software development kit)。自從Java推出以來,JDK已經成為使用最廣泛的Java SDK。由於JDK的一部分特性採用商業許可證,而非開源[1]。因此,2006年昇陽電腦宣布將發布基於GPL的開源JDK,使JDK成為自由軟體。在去掉了少量閉源特性之後,昇陽電腦最終促成了GPLOpenJDK的發布。

Java Development Kit(JDK)
開發者昇陽電腦(母公司甲骨文公司
目前版本17.0.0(2021年9月14日,​3年前​(2021-09-14
程式語言Java
作業系統Windows NTmacOSLinuxSolaris
平台IA-32x64ARMSPARC
類型軟體開發套件
許可協定Sun協定(大部分代碼同時使用GPL
網站www.oracle.com/technetwork/java/

用途

作為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中的各部分。

系統需求

無論LinuxWindows或者Mac OS系統,JDK均有X86X64甚至安騰架構的發行版本。且均為多語言發行,即根據系統語言的不同自動顯示不同語言的資訊。

版本

自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]

參見

參考文獻

  1. ^ Oracle公布JVM未来战略 JDK将包含闭源特性 - 51CTO.COM. 開發頻道 51CTO.COM. [2018-03-20]. (原始內容存檔於2018-03-20). 
  2. ^ Javah - 软件人生,雕刻时光 - ITeye博客. ITeye部落格. [2018-03-20]. (原始內容存檔於2018-03-20) (中文(中國大陸)). 
  3. ^ Java中Annotation(注释)系列学习笔记(4)_时空网络_新浪博客. [2018-03-20]. (原始內容存檔於2018-03-20). 
  4. ^ IBM Knowledge Center. IBM Knowledge Center. [2018-03-20] (美國英語). 
  5. ^ Java SE - Change in Version Numbering Scheme. ORACLE. May 6, 2013 [2013-05-16]. (原始內容存檔於2019-12-22). 
  6. ^ Java CPU和PSU版本解释. ORACLE. 2014-10-14 [2016-05-03]. (原始內容存檔於2019-02-16). 

外部連結