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

Quick Facts 开发者, 当前版本 ...
Java Development Kit(JDK)
开发者Sun微系统(母公司甲骨文公司
当前版本17.0.0(2021年9月14日,​3年前​(2021-09-14
编程语言Java
操作系统Windows NTmacOSLinuxSolaris
平台IA-32x64ARMSPARC
类型软件开发工具包
许可协议Sun协议(大部分代码同时使用GPL
网站www.oracle.com/technetwork/java/
Close

用途

作为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]

参见

参考文献

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.