java开发工具包 jdk
Java开发工具包(JDK)与JVM(Java虚拟机)和JRE(Java运行时环境)一起是Java编程中使用的三个核心技术软件包之一。 重要的是要区分这三种技术,并了解它们的连接方式:
Java新手经常将Java开发工具包和Java运行时环境弄混。 区别在于JDK是用于开发基于Java的软件的工具包,而JRE是用于运行 Java代码的工具包。
JRE可以用作独立组件,以简单地运行Java程序,但它也是JDK的一部分。 JDK需要JRE,因为运行Java程序是开发它们的一部分。
图1显示了JDK如何适应Java应用程序开发生命周期。
就像我们最近对Java虚拟机的介绍一样 ,让我们考虑一下JDK的技术定义和日常定义:
- 技术定义:JDK是Java平台规范的实现,包括编译器和类库。
- 日常定义:JDK是您下载的软件包,用于创建基于Java的应用程序。
JDK和Java编译器
除了用于运行Java应用程序的环境JRE之外,每个JDK都包含一个Java编译器。 编译器是一种软件程序,能够获取原始的.java文件(即纯文本)并将其呈现为可执行的.class文件。 我们将很快看到编译器的运行。 首先,我将向您展示如何在开发环境中下载和设置JDK。
开始使用JDK
在开发环境中进行Java设置就像下载JDK并将其添加到类路径一样容易。 下载JDK时,需要选择要使用的Java版本。 Java 8是最常用的版本,但在撰写本文时, Java 11是长期支持(LTS)版本 。 Java保持向后兼容性,因此我们将仅下载最新版本。
JDK套件
除了选择Java版本外,您还需要选择一个Java软件包。 软件包是针对不同类型开发的Java开发工具包。 可用的软件包是Java Enterprise Edition(Java EE),Java Standard Edition(Java SE)和Java Mobile Edition(Java ME)。
新手开发人员有时不确定哪个软件包适合他们的项目。 通常,每个JDK版本都包含Java SE。 如果下载Java EE或Java ME,则将获得标准版本。 例如,Jave EE是标准平台,其中包含对企业应用程序开发有用的附加工具,例如Enterprise JavaBeans或对对象关系映射的支持。
如果发现需要,将来切换到其他JDK也不难。 刚开始时,不必担心选择正确的Java版本和JDK软件包。
JDK版本兼容性
由于JDK为Java程序提供了编译器,因此您使用的JDK决定了您可以在其中编写代码的Java版本。例如,如果要使用Java 8中提供的较新的功能编程功能 ( 如Lambda运算符箭头) ,那么至少需要Java 8 JDK进行编译。 否则, javac
命令将拒绝语法错误的代码。
下载JDK
在本教程中,我们将坚持使用Java SE,以便我们可以专注于核心JDK类和技术。 要下载Java SE JDK,请访问Oracle的官方下载页面 。 您将看到各种可用的JDK软件包,如图2所示。
在选择Java SE下载之前,请花一点时间查看其他选项。 Java厨房里有很多烹饪!
关于Java EE
如果您主要对构建基于Java的Web应用程序感兴趣,则可以下载Java EE JDK。 Java EE JDK包含Java Servlet规范 ,该规范支持HTTP请求处理。 每个Java EE JDK实现都需要一个容器 ,该容器是运行Java EE应用程序的服务器。 Glassfish是Oracle的Java EE服务器参考实现。 其他流行的实现是Tomcat和Jetty。
现在,继续下载Java Standard Edition JDK。
安装JDK
运行JDK安装程序时,会为您提供三个组件的选择: 开发工具 , 源代码和Public JRE 。 您可以安装其中一个或全部。 在这种情况下,只需选择默认值即可。
安装“开发工具”选项可以使您正确使用JDK。 安装“源代码”包含核心Java API中公共类的源。 包括此选项可让您在构建应用程序时参考源代码。 第三个选项“公共JRE”表明JDK和JRE是独立的实体:其他程序可以使用公共JRE执行Java程序,并且可以与JDK分开安装。
继续安装所有三个组件,并接受每个组件的默认设置。 这样做意味着您的JDK和JRE将安装在操作系统的默认位置。 在Windows上,这是C:\ Program Files \ Java ,如图3所示。
命令行上的JDK
安装JDK和JRE会将java
命令添加到命令行中。 您可以通过放入命令外壳并键入java -version
来验证这一点,该命令应返回您安装的Java版本。 (在某些情况下,您必须重新启动系统才能完全更改系统路径。)
最好安装java
,但是javac
呢? 您将需要此JDK元素来编译Java文件。
javac命令
javac
命令位于/jdk
目录中,但在安装过程中不会自动添加到系统路径中。 我们可以选择自己安装javac
,也可以安装包含此命令的IDE。 我们将以老式的方式开始编译并运行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
命令,该命令代表Java编译器。 在命令外壳中键入命令的完整路径,然后将Intro.java
文件作为命令传递。 在我的系统上,类似于清单2。
清单2.使用JDK进行编译
"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文件是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
添加到类路径并在其中执行程序来使用它,如下所示:
java -cp intro.jar Intro
-cp
开关告诉Java将jar
添加到类路径。 .jar文件对于这个微型程序而言是过大的杀伤力,但是随着程序规模的扩大和依赖第三方软件包的出现,它们是必不可少的。
IDE中的JDK
回到JDK下载页面,您可能已经注意到使用Netbeans IDE下载JDK的选项。 IDE或集成开发环境是一种软件,它为开发应用程序提供了一套紧密的工具。 将IDE视为具有一组工具(如文件浏览器和文本编辑器)的可视化操作系统,并具有特定于开发的其他功能,例如代码完成和格式化。
在Java开发中,IDE的主要功能之一就是为您管理编译。 也就是说,IDE会在后台自动运行编译过程,因此您不必自己继续进行编译。 IDE还可以在您进行过程中提供逐次播放的反馈,以实时捕获编码错误。
存在一些针对Java的可靠IDE 。 您已经了解了JDK在命令行上的工作方式,现在让我们快速看一下它在Eclipse IDE中的工作方式。
[另请参见: 选择Java IDE:比较Eclipse,NetBeans和Intellij IDE的功能,可用性以及项目大小和类型 ]
Eclipse和JDK
安装Eclipse不在本指南的范围内,但这是一个简单的过程。 Eclipse包含与其他任何程序一样的安装程序,您可以在此处找到适合您的操作系统的正确安装程序。
安装Eclipse后,从菜单栏中打开“窗口”菜单项,然后选择“ 首选项” 。
在首选项窗口中,您将看到Java项目。 打开它,在里面您会看到Compiler项。 单击该按钮将显示JDK的一些选项。
图4显示了Eclipse中JDK选项的屏幕截图。
如前所述,您将需要为项目选择正确的JDK版本。 在后台,IDE将运行JDK编译器,就像从命令行运行它一样。 Eclipse IDE也有自己的JDK实例。 IDE为您管理JDK和JRE,这使工作变得更加轻松!
结论
本文是一个简短系列的第二篇文章,介绍了三个核心Java平台组件: JVM,JDK和JRE 。 在该系列的下一篇文章中寻找有关Java Runtime Environment的所有文章 。
这个故事“什么是JDK?Java开发工具包简介”最初由JavaWorld发布。 。
java开发工具包 jdk