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). 

外部連結