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 (页面存档备份,存于互联网档案馆)(英文)