Java基础-JVM、JDK、JRE简述。

1. JVM

JVM 即Java Virtual Machine( Java 虚拟机的缩写),是用来运行 Java 字节码(什么是 Java 字节码?)的。只要字节码相同,它能做到“一次编译,到处运行。”

  • 字节码即(在Java中)JVM可以理解的代码(.class文件)。

Java基础-JVM、JDK、JRE简述。
/* javac即java编译器 */

2. JDK

JDK即 Java Development Kit( Java 开发工具包的缩写),包含了 ( JRE )Java 的运行环境( JVM + Java 系统类库)和 Java 工具

能够创建和编译程序。

3. JRE

Java运行环境(Java Runtime Environment,简称JRE),包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件,但无法创建新程序。

附加:为什么说 Java 是编译与解释 共存的语言?

首先要明白,目前我们所用的高级编程语言为了让开发人员更高效的去编程,因此更“人类化”(机器实际上只看得懂01二进制机器码),所以想让我们敲出来的代码让机器理解执行,就会有一个“翻译”的需求。

而“翻译”有两种方式,一种是编译,一种是解释。 简单说,编译型语言是指编译器针对特定的操作系统将源代码一次性翻译成可被该平台执行的机器码;解释型语言是指解释器对源程序逐行解释成特定平台的机器码并立即执行。 编译型,形象点就是“翻译官”一次性把所有内容都翻译给你看,解释型翻译官像那种站在你旁边,你讲一句话它就翻译一句话给机器,即“逐行解释”。

再回到正文,Java 是先javac编译源代码成字节码文件,之后再经过 Java解释器进行解释,最后形成对应的机器码。

需要注意的是,JVM是负责运行字节码而不是解释,JVM把每一条要执行的字节码交给解释器,翻译成对应的机器码,然后由解释器执行。