跳到主要内容

了解JDK

1. 什么是JDK?

在安装 JDK 之前,先来认识下什么是 JDK、JRE、以及JVM。

它们之间的关系是一种包含关系,下面从内到外开始介绍。

1.1 JVM

先来说JVM。JVM 即 Java Virtual Machine(Java虚拟机)。Java 源代码会通过编译器(javac)编译成以 .class 为后缀的符合 Jvm 规范的二进 制字节码文件,在运行 Java 程序时,实际上是字节码文件被加载进虚拟机内存并运行。

Java 语言的其中一个特性就是实现了平台无关性,一次编写,随处运行。Java 之所以能实现平台无关性,就是在语言和机器之前抽象出了Java虚拟机这 一层,我们只需面向虚拟机编程,无需考虑对应的平台。

其实,我当初学 Java 的时候会有这样的一个疑惑,因为看到很多教程上写着,Java 既是编译型语言,还是解释性语言,因为需要先把 Java 编译成 字节码文件,运行在虚拟机中,再由虚拟机解释成机器码,最终运行在机器上,这样的运行效率会不会很慢呢?

但其实,现代Java虚拟机技术已经非常成熟,Java 代码的运行效率非常快。Java 这一语言的特性是编译耗时,但是运行效率非常快。

1.2 JRE

再来说JRE。JRE,即 Java Runtime Environment(Java运行时环境)。包含了 JVM 以及运行时所需要的各种类库。

JRE 中包含了 Java 虚拟机。我们在编写 Java 代码时,会用到很多 Java 提供好的类库,也就是标准库,这些都是在 JRE 中。有了这些库以及 JVM 虚拟机, 就可以运行一个 Java 程序了。所以,如果我们只需要运行 Java 程序,而不是开发的话,只需要安装 JRE 这个软件即可,无需安装 JDK。

例如,《我的世界》这款游戏,它是使用 Java 语言开发的,如果只需要运行这款游戏,只需要安装 JRE 即可。

1.3 JDK

最后说下开发必须的JDK。JDK,即 Java Development Kit(Java开发工具包)。它包含了 JRE 以及 Java 开发的常用工具,例如Java编译器(javac)等。

像上面说的运行 Java 程序时,只需要安装 JRE 即可,因为我们运行的这些程序都是已经编译好的程序,只要编译好的程序中包含了全部需要的类库,就可以运行 在虚拟机中。

但我们在开发过程中,编写的是 Java 源代码,源代码是不能直接运行的,需要通过Java编译器将源代码编译成字节码,然后运行在虚拟机中,这个编译器就在 JDK中。

所以说,Java 开发首先要安装的就是 JDK。

提示

以上概念了解即可,随着后面的学习,会有更深入的认识。