跳转到内容

JDK:修订间差异

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

| name = Java Development Kit (JDK)
{{Infobox Software
| logo =[[File:Java logo.png|130px]]
| name = Java Development Kit(JDK)
| screenshot =
| developer = [[昇陽電腦]](母公司[[甲骨文公司]])
| caption =
| latest release version = 17.0.0
| developer = [[Sun]]
| latest release version = 7 Update 5
| latest release date = {{Start date and age|2021|09|14}}
| operating system = [[Windows NT]]、[[macOS]]、[[Linux]]、[[Solaris]]
| latest release date = {{release date|2012|06|12}}
| platform = [[IA-32]]、[[x64]]、[[ARM架构|ARM]]、[[SPARC]]
| latest preview version = 7 Update 5
| programming language = [[Java]]
| latest preview date = {{release date|2012|06|12}}
| genre = [[软件开发工具包]]
| operating system = [[跨平台]]
| license = Sun协议大部分代码同时使用[[GPL]]
| programming language = [[Java]]
| website = {{URL|http://www.oracle.com/technetwork/java/}}
| genre = [[软件开发工具包]]
| license = Sun协议 (大部分基于 [[GPL]])
| website = http://www.oracle.com/technetwork/java/javase/
}}
}}

'''Java Development Kit''' ('''JDK''') 是[[Sun公司]]针对[[Java]]开发人员发布的免费[[软件开发工具包]](SDK,Software development kit)。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。由于JDK的一部分特性采用商业许可证,而非开源<ref>[http://developer.51cto.com/art/201011/233367.htm JDK将包含闭源特性]</ref>。因此,[[2006]]Sun公司宣布将发布基于[[GPL]]协议的开源JDK,使JDK成为[[自由软件]]。在去掉了少量闭源特性之后,Sun公司最终促成了[[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]]的发布。


==用途==
==用途==
作为java语言的SDK,普通用户并不需要安装JDK来运行java程序,而只需要安装[[JRE]](Java Runtime Environment)。而程序开发者必须安装JDK来编译、调试程序。
作为Java语言的SDK,普通用户并不需要安装JDK来运行Java程序,而只需要安装[[JRE]](Java Runtime Environment)。而程序开发者必须安装JDK来编译、调试程序。



==包含组件==
==包含组件==
JDK包含了一批用于Java开发的组件,其中包括:
JDK包含了一批用于Java开发的组件,其中包括:
*[[javac]][[编译器]],将[[后缀名]]为.java的[[源代码]]编译成后缀名为.class的[[字节码]]

*java:运行工具,运行.class的字节码
* [[javac]][[编译器]],将[[后缀名]]为.java的[[源代码]]编译成后缀名为.class的[[字节码]]
*[[jar]]打包工具,将相关的类文件打包成一个文件
* java – 运行工具,运行.class的字节码
*[[javadoc]][[文档]]生成器,从源码[[注释]]中提取文档,注释需符合规范
* [[jar]]打包工具,将相关的类文件打包成一个文件
*jdb debugger:[[调试工具]]
* [[javadoc]][[文档]]生成器,从源码[[注释]]中提取文档,注释需符合规范
*jps:显示当前java程序运行的[[进程]]状态
* jdb debugger,[[调试工具]]
*javap:[[反編譯器|反编译]]程序
* jps – 显示当前java程序运行的[[进程]]状态
*appletviewer:运行和调试[[applet]]程序的工具,不需要使用[[浏览器]]
* javap – [[反编译]]程序
*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>
* appletviewer – 运行和调试[[applet]]程序的工具,不需要使用[[浏览器]]
*javaws:运行[[JNLP]]程序
* javah – 从Java类生成C[[头文件]]和C源文件。这些文件提供了连接胶合,使 Java 和 C 代码可进行交互。<ref>[http://akalius.javaeye.com/blog/168064 javah]</ref>
*extcheck:一个检测jar包冲突的工具
* javaws – 运行[[JNLP]]程序
*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>
* extcheck – 一个检测jar包冲突的工具
*jhat:java[[堆]]分析工具
* apt – 注释处理工具<ref>[http://blog.sina.com.cn/s/blog_4c925dca0100hsyt.html 使用APT处理Annotation]</ref>
*jstack:[[栈]]跟踪程序
* jhat – java[[堆]]分析工具
*jstat:[[JVM]]检测统计工具
* jstack – [[栈]]跟踪程序
*jstatd:jstat[[守护进程]]
* jstat – [[JVM]]检测统计工具
*jinfo:获取正在运行或崩溃的java程序配置信息
* jstatd – jstat[[守护进程]]
* jinfo – 获取正在运行或崩溃的java程序配置信息
*jmap:获取java内存映射信息
*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>
* jmap – 获取java进程内存映射信息
*policytool:一个[[GUI]]的[[策略文件]]创建和管理工具
* 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>
*jrunscript:[[命令行]][[脚本]]运行
* policytool – 一个[[GUI]]的[[策略文件]]创建和管理工具
JDK中还包括完整的JRE(Java Runtime Environment),Java运行环境,也被称为''private'' runtime。包括了用于产品环境的各种库类,如基础类库rt.jar,以及给开发人员使用的补充库,如[[国际化与本地化]]的[[类库]]、[[IDL]]库等等。
* jrunscript – [[命令行]][[脚本]]运行

JDK中还包括完整的JRE(Java Runtime Environment),Java运行环境,也被称为''private'' runtime。包括了用于产品环境的各种库类,如基础类库rt.jar,以及给开发人员使用的补充库,如[[国际化与本地化]]的[[类库]]、[[IDL]]库等等。


JDK中还包括各种[[样例程序]],用以展示[[Java API]]中的各部分。
JDK中还包括各种[[样例程序]],用以展示[[Java API]]中的各部分。


==系统需求==
==系统需求==
无论[[linux]]、[[windows]]或者[[Mac OS|MAC]]系统,JDK均有[[X86]]与[[X64]]甚至[[安腾]]架构的发行版本。且均为多语言发行,即根据系统语言的不同自动显示不同语言的信息。
无论[[Linux]]、[[Windows]]或者[[Mac OS]]系统,JDK均有[[X86]]与[[X64]]甚至[[安腾]]架构的发行版本。且均为多语言发行,即根据系统语言的不同自动显示不同语言的信息。

==版本==
自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的倍数
*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)


==参考文献==
==参考文献==
第58行: 第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). 

外部連結

[编辑]