什么是JDK? Java开发工具包介绍
Java Development Kit (JDK) 是 Java 编程中使用的三个核心技术包之一,另外两个是 JVM(Java 虚拟机)和 JRE(Java 运行时环境)。 区分这三种技术并了解它们之间的联系非常重要:
- JVM 是承载运行程序的运行时。 JRE 是 Java 的磁盘部分,它创建 JVM 并将程序加载到其中。 JDK 提供了编写可由 JVM 和 JRE 执行和运行的 Java 程序所必需的工具。
刚接触 Java 的开发人员经常混淆 Java Development Kit 和 Java Runtime Environment。 区别在于JDK是开发基于Java的软件的工具包,而JRE是运行Java代码的工具包。
JRE 可以用作独立组件来简单地运行 Java 程序,但它也是 JDK 的一部分。 JDK 需要 JRE,因为运行 Java 程序是开发它们的一部分。
图 1 显示了 JDK 如何融入 Java 应用程序开发生命周期。
国际数据集团
图 1. JDK 的高级视图。
在我们继续之前,让我们考虑一下 JDK 的技术和日常定义:
- 技术定义:JDK是Java平台规范的实现,包括编译器和标准类库。 日常定义:JDK 是您为了创建基于 Java 的应用程序而下载的软件包。
JDK 和 Java 编译器
除了用于运行 Java 应用程序的环境 JRE 之外,每个 JDK 都包含一个 Java 编译器。 编译器是能够获取原始数据的软件程序 .java
文件——纯文本——并将它们呈现为可执行文件 .class
文件。 我们很快就会看到编译器的运行。 首先,我将向您展示如何在您的开发环境中下载和设置 JDK。
JDK 版本和包
在开发环境中设置 Java 就像下载 JDK 并将其添加到操作系统的系统路径一样简单。 对于 Windows 和 macOS,Java 包含一个安装程序,可以为您执行此操作。
下载 JDK 时,需要选择要使用的 Java 版本。 Java 11 最近超越 Java 8 成为最常用的版本。 展望未来,Java 17 似乎可能是下一个突出的版本。 Java 保持向后兼容性,所以我们只下载最新版本。
过去,您还必须选择 Java 包。 这些是针对不同类型开发的 JDK,例如 Java Enterprise Edition (Java EE)、Java Standard Edition (Java SE) 和 Java Mobile Edition (Java ME)。 现在,企业 Java 库已迁移到 Jakarta EE,流程发生了变化。 您仍将从 Oracle 或 OpenJDK 等实施者处下载 Java SE JDK。 如果您需要对企业和云原生应用程序开发有用的其他工具,那么您可能需要下载并安装 Jakarta EE。 在某些情况下,您可能不需要整个 Jakarta EE 平台。 例如,如果您只需要 JDK 加 servlet,则可以使用标准 JDK 加 Tomcat,其中包括 Servlet API。
JDK版本兼容性
由于 JDK 为您的 Java 程序提供了编译器,因此您使用的 JDK 决定了您可以编写的 Java 版本。例如,如果您想使用函数式编程功能,那么您至少需要 Java 8 JDK 进行编译。 否则, javac
(Java 编译器)命令将拒绝具有语法错误的 Lambda 代码。
下载适用于 Java SE 的 JDK
在本次介绍中,我们将坚持使用 Java SE,以便我们可以专注于核心 JDK 类和技术。 要下载 Java SE 开发工具包,请访问 Oracle 的官方下载页面。 您将看到各种可用的 JDK 包,如图 2 所示。
国际数据集团
图 2. 可用的 JDK 包。
在选择 Java SE 下载之前,请花点时间查看其他选项。 爪哇厨房里有很多菜!
关于雅加达 EE
Java 的企业和云原生功能现已集成到由 Eclipse 基金会管理的 Jakarta EE 中。 要构建 Java 应用程序,您始终需要标准的 JDK。 除此之外,您还可以挑选您需要合并的项目。 现在,继续从 Oracle 页面下载 Java Standard Edition JDK。 另一个流行的选择是 OpenJDK。
如何安装JDK
JDK 安装有两种方式:手动或安装程序。 在手动安装中,您下载二进制文件、解压缩它们并将它们添加到路径中。 这在所有操作系统中都很常见。 您可能知道如何执行此类安装。
安装程序适用于 macOS 和 Windows。 当您运行 JDK 安装程序时,您将看到三个组件的选择:开发工具、源代码和公共 JRE。 您可以安装其中一个或全部。 在这种情况下,只需选择默认值即可。
安装 Development Tools 选项可为您提供正确的 JDK。 安装源代码包含核心 Java API 中公共类的源代码。 包括此选项允许您在构建应用程序时引用源代码。 第三个选项,公共 JRE,明确 JDK 和 JRE 是独立的实体:公共 JRE 可以被其他程序用来执行 Java 程序,并且可以与 JDK 分开安装。
继续安装所有三个组件并接受每个组件的默认设置。 这样做意味着您的 JDK 和 JRE 将安装在操作系统的默认位置。 在 Windows 上,这是 C:Program FilesJavajdk-*
,如图 3 所示。(在旧版本的 Java 中,JDK 和 JRE 有单独的目录。在较新的版本中,它们一起安装在 JDK 目录中。)
国际数据集团
图 3. 已安装 JDK 的视图。
两个关键的 Java 命令:java 和 javac
JDK 中的 JRE 添加了 java
命令到你的命令行。 您可以通过放入命令外壳并键入来验证这一点 java -version
,它应该返回您刚刚安装的 Java 版本。 (在某些情况下,您必须重新启动系统才能完全采用对系统路径的更改。)
很高兴有 java
安装了,但是怎么样 javac
? 您将需要此 JDK 组件来编译您的 Java 文件。
这 javac
命令住在里面 /jdk
目录,在最新版本的安装程序中会自动添加到该路径 ....
某些 IDE 默认包含 Java 编译器。 如果您愿意,通常可以将它们配置为使用特定的已安装版本。
编译并运行 Java 程序
我们将从以老式方式编译和运行 Java 程序开始——使用文本文件和控制台命令。 这让我们很好地了解实际发生的事情。
步骤 1. 编写一个简单的 Java 程序
创建一个新的文本文件,名为 Intro.java
并将它放在您计算机上的某个位置,例如您的文档文件夹中。
接下来,添加清单 1 中的代码,这是一个非常简单的 Java 程序。
清单 1.Intro.java
public class Intro {
public static void main(String[] args) {
System.out.println("Welcome to the JDK!");
}
}
步骤 2. 使用 JDK 编译
接下来,使用 JDK 编译器将您的文本文件转换为可执行程序。 Java 中的编译代码称为字节码,并带有 .class
扩大。
您将使用 javac
命令,通过 Intro.java
文件作为命令的参数。 您正在将我们在清单 1 中创建的 Java 文件提供给 javac
命令。 在我的系统上,它看起来像清单 2。(在旧的 Java 版本中,您需要在命令 shell 中输入命令的完整路径,就像在注释行中一样。)
清单 2. 使用 JDK 编译
javac Intro.java
//"C:Program FilesJavajdk-10.0.1binjavac.exe" Intro.java
这应该会导致编译成功。 这 javac
不会以成功消息响应; 它只会输出新文件。 任何错误都将导致控制台输出。
步骤 3. 运行 .class 文件
你现在应该看到 Intro.class
文件在同一目录下 Intro.java
.
您可以通过键入以下内容来运行它: java Intro
,这将产生如清单 3 所示的输出。请注意,您不包括 .class
键入此命令时。
清单 3. 运行 Intro.class
C:UsersmtysonDocuments>java Intro
Welcome to the JDK!
创建一个 JAR 文件并将其添加到您的类路径
这 javac
是 JDK 的明星,但是 /bin
目录包含您需要的其他工具。 可能是之后最突出的 javac
是个 jar
工具。
JAR (.jar) 文件是一组打包的 Java 类。 一旦编译器创建了 .class
文件,开发人员可以将它们放在一起 .jar
,它以可预测的方式压缩和构建它们。
让我们转换 Intro.class
到一个 .jar
文件。
导航回您放置您的目录 Intro.java
,然后键入您在清单 4 中看到的命令。
清单 4. 创建一个 JAR 文件
C:UsersmtysonDocuments>"c:Program FilesJavajdk-10.0.1binjar.exe" --create --file intro.jar Intro.class
现在你会看到一个 intro.jar
目录中的文件。 您可以使用 .jar
通过将它添加到您的类路径并在其中执行程序,如下所示:
清单 5. 将 JAR 添加到您的类路径
java -cp intro.jar Intro
这 -cp
switch 告诉 Java 添加 jar
到类路径。 A .jar
文件比这个小程序需要的多,但随着程序规模的增长和依赖第三方包,它们是不可或缺的。
IDE 中的 JDK
集成开发环境 (IDE) 是提供一组用于开发应用程序的内聚工具的软件。 将 IDE 视为一个可视化操作系统,其中包括文件浏览器和文本编辑器,以及特定于开发的功能,如代码完成和格式化。 Eclipse、IntelliJ 和 NetBeans 都是经过充分测试且功能强大的 Java IDE。 Microsoft 无处不在的 Visual Studio Code (VS Code) 是 Java 应用程序开发的另一个有力竞争者。
在 Java 开发中,IDE 所做的一项关键工作是管理编译。 也就是说,IDE 会在后台自动运行编译过程,因此您不必自己不断进行。 IDE 还可以在您进行过程中提供逐个播放的反馈,即时捕获编码错误。
您已经了解了 JDK 如何在命令行上工作,所以现在让我们快速了解一下它在 Eclipse 中的工作方式。
Eclipse 和 JDK
安装 Eclipse 超出了本指南的范围,但这是一个简单的过程。 Eclipse 像任何其他程序一样包含一个安装程序,您可以在此处找到适合您的操作系统的安装程序。
安装 Eclipse 后,从菜单栏中打开 Window 项并选择 Preferences。
在 Preferences 窗口中,您会看到 Java 项。 打开它,您会在里面看到 Compiler 项。 单击它将显示 JDK 的选项。
图 4 显示了 Eclipse 中 JDK 选项的屏幕截图。
国际数据集团
图 4. Eclipse 中的 JDK 选项。
如前所述,您需要为您的项目选择正确的 JDK 版本。 在后台,IDE 将运行 JDK 编译器,就像您从命令行运行它一样。 Eclipse IDE 也有自己的 JDK 实例。 IDE 为您管理 JDK 和 JRE,让生活更轻松!