跳转到内容

JDK:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Xevp5qw4留言 | 贡献
无编辑摘要
无编辑摘要
 
(未显示17个用户的29个中间版本)
第1行: 第1行:
{{NoteTA|G1=IT}}
{{NoteTA|G1=IT}}
{{About|Java软件开发工具包|JDK的其他含义|Jdk (消歧义)}}

{{Infobox Software
{{Infobox Software
| name = Java Development Kit(JDK)
| name = Java Development Kit(JDK)
| developer = [[昇陽電腦]](母公司[[甲骨文公司]])
| developer = [[昇陽電腦]](母公司[[甲骨文公司]])
| latest release version = Java Standard Edition 8 Update 60 (1.8.0_60)
| latest release version = 17.0.0
| latest release date = {{release date|2015|08|15}}
| latest release date = {{Start date and age|2021|09|14}}
| operating system = [[跨平台]]
| operating system = [[Windows NT]]、[[macOS]]、[[Linux]]、[[Solaris]]
| platform = [[IA-32]]、[[x64]]、[[ARM架构|ARM]]、[[SPARC]]
| programming language = [[Java]]
| programming language = [[Java]]
| genre = [[软件开发工具包]]
| genre = [[软件开发工具包]]
| license = Sun协议(大部分基于[[GPL]])
| license = Sun协议(大部分代码同时使用[[GPL]])
| website = http://www.oracle.com/technetwork/java/javase/}}
| website = {{URL|http://www.oracle.com/technetwork/java/}}
}}
'''Java Development Kit'''('''JDK''')是[[昇陽電腦]]针对[[Java]]开发人员发布的免费[[软件开发工具包]](SDK,Software development kit)。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。由于JDK的一部分特性采用商业许可证,而非开源<ref>[http://developer.51cto.com/art/201011/233367.htm JDK将包含闭源特性]</ref>。因此,2006年昇陽電腦宣布将发布基于[[GPL]]的开源JDK,使JDK成为[[自由软件]]。在去掉了少量闭源特性之后,昇陽電腦最终促成了[[GPL]]的[[OpenJDK]]的发布。

'''Java Development Kit'''('''JDK''')是[[昇陽電腦]]针对[[Java]]开发人员发布的免费[[软件开发工具包]](SDK,Software development kit)。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。由于JDK的一部分特性采用商业许可证,而非开源<ref>{{Cite web|url=http://developer.51cto.com/art/201011/233367.htm|title=Oracle公布JVM未来战略 JDK将包含闭源特性 - 51CTO.COM|accessdate=2018-03-20|work=开发频道 51CTO.COM|archive-date=2018-03-20|archive-url=https://web.archive.org/web/20180320105831/http://developer.51cto.com/art/201011/233367.htm|dead-url=no}}</ref>。因此,2006年昇陽電腦宣布将发布基于[[GPL]]的开源JDK,使JDK成为[[自由软件]]。在去掉了少量闭源特性之后,昇陽電腦最终促成了[[GPL]]的[[OpenJDK]]的发布。


==用途==
==用途==
第23行: 第28行:
*jdb debugger:[[调试工具]]
*jdb debugger:[[调试工具]]
*jps:显示当前java程序运行的[[进程]]状态
*jps:显示当前java程序运行的[[进程]]状态
*javap:[[反编译]]程序
*javap:[[反編譯器|反编译]]程序
*appletviewer:运行和调试[[applet]]程序的工具,不需要使用[[浏览器]]
*appletviewer:运行和调试[[applet]]程序的工具,不需要使用[[浏览器]]
*javah:从Java类生成C[[头文件]]和C源文件。这些文件提供了连接胶合,使Java和C代码可进行交互。<ref>[http://akalius.javaeye.com/blog/168064 javah]</ref>
*javah:从Java类生成C[[头文件]]和C源文件。这些文件提供了连接胶合,使Java和C代码可进行交互。<ref>{{Cite web|url=http://akalius.iteye.com/blog/168064|title=Javah - 软件人生,雕刻时光 - ITeye博客|accessdate=2018-03-20|author=|date=|work=ITeye博客|publisher=|language=zh-CN|archive-date=2018-03-20|archive-url=https://web.archive.org/web/20180320105810/http://akalius.iteye.com/blog/168064|dead-url=no}}</ref>
*javaws:运行[[JNLP]]程序
*javaws:运行[[JNLP]]程序
*extcheck:一个检测jar包冲突的工具
*extcheck:一个检测jar包冲突的工具
*apt:注释处理工具<ref>[http://blog.sina.com.cn/s/blog_4c925dca0100hsyt.html 使用APT处理Annotation]</ref>
*apt:注释处理工具<ref>{{Cite web|url=http://blog.sina.com.cn/s/blog_4c925dca0100hsyt.html|title=Java中Annotation(注释)系列学习笔记(4)_时空网络_新浪博客|accessdate=2018-03-20|author=|date=|work=|publisher=|archive-date=2018-03-20|archive-url=https://web.archive.org/web/20180320165916/http://blog.sina.com.cn/s/blog_4c925dca0100hsyt.html|dead-url=no}}</ref>
*jhat:java[[堆]]分析工具
*jhat:java[[堆]]分析工具
*jstack:[[栈]]跟踪程序
*jstack:[[栈]]跟踪程序
第35行: 第40行:
*jinfo:获取正在运行或崩溃的java程序配置信息
*jinfo:获取正在运行或崩溃的java程序配置信息
*jmap:获取java进程内存映射信息
*jmap:获取java进程内存映射信息
*idlj:[[IDL]]-to-Java编译器。将[[IDL]]语言转化为java文件<ref>[http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=%2Frzaha%2Fidlj.htm Java idlj tool]</ref>
*idlj:[[IDL]]-to-Java编译器。将[[IDL]]语言转化为java文件<ref>{{Cite web|url=http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzaha/idlj.htm|title=IBM Knowledge Center|accessdate=2018-03-20|author=|date=|work=IBM Knowledge Center|publisher=|language=en-US}}</ref>
*policytool:一个[[GUI]]的[[策略文件]]创建和管理工具
*policytool:一个[[GUI]]的[[策略文件]]创建和管理工具
*jrunscript:[[命令行]][[脚本]]运行
*jrunscript:[[命令行]][[脚本]]运行
第46行: 第51行:


==版本==
==版本==
自JDK 5.0起,Java以两种方式发布更新<ref>{{cite web|title=Java SE - Change in Version Numbering Scheme|url=http://www.oracle.com/technetwork/java/javase/overview/jdk-version-number-scheme-1918258.html|publisher=ORACLE|accessdate=2013-05-16|date=May 6, 2013}}</ref>:
自JDK 5.0起,Java以两种方式发布更新<ref>{{cite web|title=Java SE - Change in Version Numbering Scheme|url=http://www.oracle.com/technetwork/java/javase/overview/jdk-version-number-scheme-1918258.html|publisher=ORACLE|accessdate=2013-05-16|date=May 6, 2013|archive-date=2019-12-22|archive-url=https://web.archive.org/web/20191222123824/https://www.oracle.com/technetwork/java/javase/overview/jdk-version-number-scheme-1918258.html|dead-url=no}}</ref>:
*Limited Update包含新功能和非安全修正,版本号是20的倍数
*Limited Update包含新功能和非安全修正,版本号是20的倍数
*Critical Patch Updates(CPUs)只包含安全修正,版本号将是上一个Limited Update版本号加上五的倍数后的奇数
*Critical Patch Updates(CPUs)只包含安全修正,版本号将是上一个Limited Update版本号加上五的倍数后的奇数

Java SE 7 Update 71之後則以雙版本發布:
*重要補丁更新(Critical Patch Update)
*補丁集更新(Patch Set Update)
Oracle建議只有在當次PSU版有修正使用者遇到的特定問題時才安裝該PSU版<ref>{{cite web|title=Java CPU和PSU版本解释|url=http://www.oracle.com/technetwork/cn/java/javase/cpu-psu-explained-2331472-zhs.html|publisher=ORACLE|accessdate=2016-05-03|date=2014-10-14|archive-date=2019-02-16|archive-url=https://web.archive.org/web/20190216192614/https://www.oracle.com/technetwork/cn/java/javase/cpu-psu-explained-2331472-zhs.html|dead-url=no}}</ref>。

== 参见 ==
{{Portal box|软件}}
* [[软件开发工具包]] (SDK)


==参考文献==
==参考文献==
第54行: 第68行:


== 外部連結 ==
== 外部連結 ==
*[http://Java.Sun.com/new2java/index.jsp New to Java Programming Center]{{en}}
* [http://Java.Sun.com/new2java/index.jsp New to Java Programming Center] {{Wayback|url=http://java.sun.com/new2java/index.jsp |date=20100715133203 }}{{en}}
*[http://OpenJDK.Java.net/ OpenJDK]{{en}}
* [http://OpenJDK.Java.net/ OpenJDK]{{Wayback|url=http://openjdk.java.net/ |date=20091025201426 }}{{en}}
*[http://www.oracle.com/technetwork/java/javase/downloads/index.html Java SE Downloads]{{en}}
* [http://www.oracle.com/technetwork/java/javase/downloads/index.html Java SE Downloads] {{Wayback|url=http://www.oracle.com/technetwork/java/javase/downloads/index.html |date=20200212100943 }}{{en}}

{{-}}
{{Java (Sun)}}
{{Java (Sun)}}



2021年9月30日 (四) 09:20的最新版本

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 Development KitJDK)是昇陽電腦针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit)。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。由于JDK的一部分特性采用商业许可证,而非开源[1]。因此,2006年昇陽電腦宣布将发布基于GPL的开源JDK,使JDK成为自由软件。在去掉了少量闭源特性之后,昇陽電腦最终促成了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代码可进行交互。[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). 

外部連結

[编辑]