天天看点

什么是 Java 开发工具包 (JDK)?

  Java 开发工具包 (JDK) 提供了构建所有面向 Java 平台的应用程序的基础。JDK 包括执行各种任务的各种工具和实用程序,包括将源代码编译成字节码、打包应用程序、启动 Java 虚拟机 (JVM) 和管理 Java 应用程序的运行时环境。

  什么是 JDK?

  JDK 是一个软件包,其中包含各种工具和实用程序,可以开发、打包、监控和部署为任何标准 Java 平台构建的应用程序,包括 Java 平台标准版 (Java SE); Java 平台,微型版 (Java ME);和 Java 平台企业版 (Java EE)。

  Java平台

  过去,如果说 JDK 专门针对程序语言 Java 是正确的。然而,Java 7 引入了一种特殊的结构,使得 Groovy、Clojure 或 Kotlin 等外围编程语言更容易编译成 Java 字节码并使用 Java 运行时环境 (JRE) 执行。因此,今天存在的 Java 平台不仅包括 Java,还包括使用 JDK 工具并在 Java 运行时执行的各种其他外围语言。

  JDK 组件、工具和实用程序

  JDK 的 bin 目录提供了有助于软件开发过程的各种功能和工具。一些更流行的 JDK 实用程序包括:

  javac:此实用程序用于将 Java 源代码编译为 Java 字节码。

  rmic:此实用程序创建用于远程方法调用 (RMI) 的骨架和存根。

  jar:此压缩实用程序将大量文件聚合到单个 Java ARchive (JAR) 文件中。jar 实用程序使用所有最常见的 zip 实用程序都使用的标准压缩算法。

  javadoc:此实用程序可以检查类的名称和包含在类中的方法,以及使用特殊注释来为 Java 代码创建应用程序编程接口 (API) 文档。

  wsgen:这会生成 Java API for XML Web Services (JAX-WS) 所需的各种工件。

  javap:此实用程序反汇编类文件,生成有关给定编译组件的方法、属性和属性的信息。

  JDK 还包含许多用于检查 JVM 运行时行为的工具,包括 Java Mission Control (JMC)、Java Flight Recorder (JFR) 和 VisualVM。

什么是 Java 开发工具包 (JDK)?

  JDK和JVM的区别

  在 JDK bin 目录中,还有一个名为 java 的实用程序。该实用程序将采用任何包含可运行 main 方法的 Java 应用程序并将其作为软件程序执行。当 Java 应用程序的源代码被编译时,它被编译成字节码。字节码是 Java 源代码和低级机器代码之间的中介。当调用 java 实用程序时,会创建一个 JVM,它使用即时 (JIT) 编译器将字节码转换为机器码。这种从 Java 字节码到低级计算机指令的即时转换是使 Java 应用程序跨平台和硬件无关的关键。

  JDK 与 JRE 比较

  下载和安装 Java 时,有两种可能的选择。第一种是下载安装JRE,第二种是下载安装JDK。任何用 Java 编写的程序,除了标准的 Java 库集和简单的执行环境之外,不需要任何额外功能,都可以在 JRE 提供的 JVM 上成功运行。但是,如果需要任何补充功能,例如需要即时编译 Java 源代码或生成身份验证证书,则需要 JDK。JDK 包含自己的 JRE,但在 JRE 的基本功能之外还提供了各种额外的功能。

  一些需要安装 JDK 而不是 JRE 的产品包括 Jenkins、Maven、IBM WebSphere、JMeter、Tomcat 和 Apache Karaf。

  Java SE 和 JDK

  JDK 与 Java SE 定义的所有库一起打包。标准 API 包括用于实用程序、网络、输入/输出 (I/O)、加密和 XML 处理的包。JDK 还包括 SE 对使用 Abstract Window Toolkit (AWT)、Swing 和 JavaFX 包的用户界面 (UI) 开发的支持。

  JDK 库

  但是,JDK 不包括对 servlet、Java ServerPages (JSP) 和 Enterprise JavaBeans (EJB) 等组件的支持。这些组件是构建在 Java SE 之上的 Java EE 平台的一部分。类似地,JDK 没有对使用 Java ME 进行微设备开发的固有支持,尽管 Java ME 确实构建在并利用了通过 JDK 提供的所有功能和工具。JDK 代表 Java 开发人员可以使用的一组核心库、实用程序和工具。使用 Java 构建的后续 API、平台和框架都构建在 JDK 提供的设施之上。

什么是 Java 开发工具包 (JDK)?

  外围语言

  Groovy、Clojure、Scala 和 Kotlin 等外围编程语言继续流行。这些语言都在 JDK 上运行,但提供了克服 Java 语言限制的各种功能。例如,Groovy 提供了强大的脚本功能。Scala 和 Clojure 解决了 Java 程序遇到的各种可伸缩性问题。而且 Kotlin 极大地简化了 Android 应用程序的开发。所有这些语言都在 JVM 上运行,并利用 Java 平台中内置的标准库和其他功能。

  经过 20 多年的可用性,JDK 已经证明自己足够可靠,可以承受最极端的环境和工作负载,并且能够支持在 Java 语言本身之外添加额外功能的新语言,JDK 将不可避免地成为未来几年 IT 界的主要参与者。