你真的知道什么是 JDK吗? 译文 精选
Java Development Kit (JDK) 是 Java 编程中使用的三个核心技术包之一,与 JVM(Java 虚拟机)和 JRE(Java 运行时环境)一起。区分这三种技术并了解它们之间的联系非常重要:
- JVM是托管正在运行的程序的运行时。
- JRE是 Java 的磁盘部分,它创建 JVM 并将程序加载到其中。
- JDK 提供了编写可由 JVM 和 JRE 执行和运行的 Java 程序所需的工具。
刚接触 Java 的开发人员经常混淆 Java 开发工具包和 Java 运行时环境。区别在于 JDK 是用于开发基于 Java 的软件的工具包,而 JRE 是用于运行Java 代码的工具包。
JRE 可以用作独立组件来简单地运行 Java 程序,但它也是 JDK 的一部分。JDK 需要 JRE,因为运行 Java 程序是开发它们的一部分。
图 1 显示了 JDK 如何融入 Java 应用程序开发生命周期。
图 1. JDK 的高级视图。
在继续之前,让我们考虑一下 JDK 的技术和日常定义:
- 技术定义:JDK是Java平台规范的实现,包括编译器和标准类库。
- 日常定义:JDK 是你为创建基于 Java 的应用程序而下载的软件包。
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。
下载 Java SE 的 JDK
我们将坚持使用 Java SE 进行介绍,以便我们可以专注于核心 JDK 类和技术。要下载 Java SE 开发工具包,请访问 Oracle 的官方下载页面。你将看到各种可用的 JDK 包,如图 2 所示。
图 2. 可用的 JDK 包。
在选择 Java SE 下载之前,请花一点时间查看其他选项。Java厨房里有很多烹饪!
如何安装 JDK
JDK 安装有两种方式:手动或安装程序。在手动安装中,你下载二进制文件,解压缩它们,然后将它们添加到路径中。这在所有操作系统中都很常见。你可能知道如何执行这种类型的安装。
安装程序可用于 macOS 和 Windows。当你运行 JDK 安装程序时,你可以选择三个组件:开发工具、源代码和公共 JRE。你可以安装其中一个或全部。在这种情况下,只需选择默认值。
安装Development Tools选项为你提供正确的 JDK。安装源代码包含核心 Java API 中公共类的源代码。包含此选项允许你在构建应用程序时引用源代码。第三个选项Public JRE表明 JDK 和 JRE 是独立的实体:公共 JRE 可以被其他程序用来执行 Java 程序,并且可以与 JDK 分开安装。
继续安装所有三个组件并接受每个组件的默认值。这样做意味着你的 JDK 和 JRE 将安装在操作系统的默认位置。在 Windows 上,即C:\Program Files\Java\jdk-*,如图 3 所示。(在旧版本的 Java 中,JDK 和 JRE 有单独的目录。在较新的版本中,它们一起安装在 JDK 目录中。)
图 3. 已安装 JDK 的视图。
两个关键的 Java 命令:java 和 javac
JDK 中的 JRE 将java命令添加到命令行。你可以通过进入命令 shell 并键入 来验证这一点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 Files\Java\jdk-10.0.1\bin\javac.exe" Intro.java
这应该会导致编译成功。javac不会以成功消息响应;它只会输出新文件。任何错误都会导致控制台输出。
步骤 3. 运行 .class 文件
你现在应该Intro.class在与Intro.java.
你可以通过键入: 来运行它java Intro,这将产生如清单 3 所示的输出。请注意,你.class在键入此命令时不包括 。
清单 3. 运行 Intro.class
C:\Users\mtyson\Documents>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:\Users\mtyson\Documents>"c:\Program Files\Java\jdk-10.0.1\bin\jar.exe" --create --file intro.jar Intro.class
现在你将intro.jar在目录中看到一个文件。你可以.jar通过将其添加到类路径并在其中执行程序来使用它,如下所示:
清单 5. 将 JAR 添加到你的类路径
java -cp intro.jar Intro
该-cp开关告诉 Java 添加jar到类路径中。对于这个小程序来说,一个.jar文件比我们需要的要多,但随着程序的大小增加并依赖第三方包,它们是必不可少的。
IDE 中的 JDK
集成开发环境 (IDE) 是为开发应用程序提供一组内聚工具的软件。将 IDE 视为一个可视化操作系统,包括文件浏览器和文本编辑器,以及特定于开发的功能,如代码完成和格式化。Eclipse、IntelliJ 和 NetBeans都是经过充分测试且功能强大的 Java IDE。微软无处不在的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,让生活更轻松!
原文标题:??What is the JDK? Introduction to the Java Development Kit??