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 (頁面存檔備份,存於網際網路檔案館)(英文)