这是一篇翻译文章,如果想要原文地址的,可以私信我获取。

JDK(Java Development Kit)是Java软件开发中最为核心的三个技术,其它两个是JVM(Java Virtual Machine)和JRE(Java Runtime Environment)。区分这三种技术,以及理解他们之间的联系是非常重要的:

  • JVM是一个运行java程序的平台。
  • JRE是一个用来创建JVM的。
  • 开发人员可以用JDK创建一个在JVM上运行的java程序。

刚刚接触Java的开发者非常容易混淆JDK和JRE。其实他们之间的区别也是非常好理解的:JDK(Java开发工具包)是一个开发java软件的,JRE(Java运行时环境)是用来运行Java代码的。

JRE可以作为一个独立的组件来运行Java程序,但它也是JDK的一部分。同时JDK也需要JRE,因为开发Java程序就是为了把他们运行起来。

jdk的正确使用方法(关于JDK的详细介绍)(1)

JVM、JRE和JDK之间的关系

上图展示了JVM、JRE和JDK之间的关系。

JDK的技术和日常定义:

  • 技术定义:JDK是Java平台规范的一个实现,包括编译器和类库。
  • 日常定义:JDK就是一个我们下载下来用来开发Java程序的软件包。

除了JRE(它是用来运行Java程序的),每一个JDK都包含Java编译器。编译器是一个能够接收[.java]文件(纯文本文件),并且把他们转换成可执行的[.class]文件的软件程序。接下来我们很快会介绍Java编译器,不过首先我会带大家看看如何在自己的开发环境中下载并安装JDK。

一切从JDK安装开始

在我们的开发环境中安装Java开发环境只需要下载JDK并且把他们的存放位置添加到classpath中即可。当我们在下载JDK的时候,需要考虑我们应该使用哪个版本的Java。目前最为流行的Java版本是Java8,不过最新的Java版本已经到达Java10了。Java具有向后兼容的特点,也就是说高版本的Java会兼容低版本的,所以我们可以选择Java10来进行安装(实际的项目中最好保证项目组成员使用同一个版本的Java,否则可能会导致高版本的特性无法在低版本中使用,从而影响开发效率)。

JDK软件包

除了选择Java的版本之外,我们还需要选择Java的软件包,Java软件包是用来提供给不同平台的开发者使用的。其中一些可用Java软件包有:Java Enterprise Edition(Java EE 平台企业版),Java Standard Edition(Java SE 平台标准版)和Java PlatfORM,Micro Edition(Java ME 平台Micro版)。

新手开发者往往会不确定他们的项目应该使用哪一个Java软件包。通常情况下,没一个JDK版本都会包含Java SE,如果我们下载了Java EE或者Java ME,我们也就同时下载了Java SE。比如:Java EE就是在标准平台版本的基础上添加了一些非常适合企业程序开发的组件,如JavaBeans和ORM(Object Relational Mapping)的支持。

由于JDK为Java提供了编译器,所以使用的JDK就决定了你能够Java代码可以使用到的Java版本特性。比如:如果你希望使用到Java8中才有的新功能(比如Lambda语法),就必须使用Java8及以上的JDK进行编译。否则javac在执行的时候会报出语法错误。

下载JDK

下载Java SE的JDK,需要访问Oracle的官方下载页,可以在上面选择自己需要的软件包进行下载。全部可用的软件包如下图所示:

jdk的正确使用方法(关于JDK的详细介绍)(2)

Java软件包列表

如果我们在开发一个web程序,那么我们就需要下载Java EE版本。Java EE版本的JDK包含了Java Servlet的实现,Java Servlet提供了HTTP请求相关的功能。每一个Java EE的JDK同样需要一个web容器。Glassfish是Oracle实现的一个Java EE web容器,其它流行的web容器还有Tomcat和Jetty。

安装JDK

下载完JDK后,我们就可以进行JDK的安装了。在安装的过程中我们往往会遇到三个选项:Development Tools(开发者工具),Source Code(源码)和Public JRE(公共运行环境)。我们可以选择安装其中一个或者全部安装。

如果选择安装[Development Tools]则会得到JDK,如果安装[Source Code]则会得到那些公开的Java API的源码,它能够让我们在开发的过程中查看JDK中各种类的实现原理,对于学习和使用JDK具有非常大的帮助。[Public JRE]能够让其它程序来运行JAV程序。

安装完JDK以后我们就可以在安装目录中看到如下的内容:

jdk的正确使用方法(关于JDK的详细介绍)(3)

Java安装目录

JDK命令行

当我们安装完JDK以后,就会可以使用JDK中提供的一系列的Java命令行。下图展示了部分JDK提供的命令行工具。

jdk的正确使用方法(关于JDK的详细介绍)(4)

Java命令行

下面介绍一些比较常用的java命令:

  • java命令。可以用来运行一个java程序。
  • javac命令。可以用来编译java代码,会把[.java]文件编译成可执行[.class]文件。
  • jar命令。jar命令可以对javac编译出来的一个个[.class]文件进行打包,我们可以选择压缩或者不压缩。

,