JDK

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Java Development Kit(JDK)
开发者Sun微系统(母公司甲骨文公司
当前版本
  • 20.0.2 (2023年7月18日;稳定版本)[1]
编辑维基数据链接
编程语言Java
操作系统Windows NTmacOSLinuxSolaris
平台IA-32x64ARMSPARC
类型软件开发工具包
许可协议Sun协议(大部分代码同时使用GPL
网站www.oracle.com/technetwork/java/

Java Development KitJDK)是Sun微系统针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit)。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。由于JDK的一部分特性采用商业许可证,而非开源[2]。因此,2006年Sun微系统宣布将发布基于GPL的开源JDK,使JDK成为自由软件。在去掉了少量闭源特性之后,Sun微系统最终促成了GPLOpenJDK的发布。

用途[编辑]

作为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代码可进行交互。[3]
  • javaws:运行JNLP程序
  • extcheck:一个检测jar包冲突的工具
  • apt:注释处理工具[4]
  • jhat:java分析工具
  • jstack:跟踪程序
  • jstat:JVM检测统计工具
  • jstatd:jstat守护进程
  • jinfo:获取正在运行或崩溃的java程序配置资讯
  • jmap:获取java进程内存映射资讯
  • idlj:IDL-to-Java编译器。将IDL语言转化为java文件[5]
  • 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以两种方式发布更新[6]

  • Limited Update包含新功能和非安全修正,版本号是20的倍数
  • Critical Patch Updates(CPUs)只包含安全修正,版本号将是上一个Limited Update版本号加上五的倍数后的奇数。

Java SE 7 Update 71之后则以双版本发布:

  • 重要补丁更新(Critical Patch Update)
  • 补丁集更新(Patch Set Update)

Oracle建议只有在当次PSU版有修正用户遇到的特定问题时才安装该PSU版[7]

参见[编辑]

参考文献[编辑]

  1. ^ https://www.oracle.com/java/technologies/javase/20all-relnotes.html.
  2. ^ Oracle公布JVM未来战略 JDK将包含闭源特性 - 51CTO.COM. 开发频道 51CTO.COM. [2018-03-20]. (原始内容存档于2018-03-20). 
  3. ^ Javah - 软件人生,雕刻时光 - ITeye博客. ITeye部落格. [2018-03-20]. (原始内容存档于2018-03-20) (中文(中国大陆)). 
  4. ^ Java中Annotation(注释)系列学习笔记(4)_时空网络_新浪博客. [2018-03-20]. (原始内容存档于2018-03-20). 
  5. ^ IBM Knowledge Center. IBM Knowledge Center. [2018-03-20] (美国英语). 
  6. ^ Java SE - Change in Version Numbering Scheme. ORACLE. May 6, 2013 [2013-05-16]. (原始内容存档于2019-12-22). 
  7. ^ Java CPU和PSU版本解释. ORACLE. 2014-10-14 [2016-05-03]. (原始内容存档于2019-02-16). 

外部链接[编辑]