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

外部連結