Java面试之Java基础2——JVM、JRE和JDK

JVM、JRE和JDK的概念

它们三个都是英语词汇的简称,所以知道那么的原来单词对理解它们的含义有帮助,也便于记忆。

  JVM JRE JDK
全称 Java Virtual Machine,即Java虚拟机 Java Runtime Environment,即Java程序运行时环境 Java Development Kit,即Java程序开发工具包
说明 JVM使Java语言具有了跨平台性。JVM是运行Java字节码的虚拟机。 它是运⾏已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机
(JVM),Java 类库,java 命令和其他的⼀些基础构件。
它拥有 JRE 所拥有的⼀切,还有编
译器(javac)和⼯具(如 javadoc 和 jdb)。它能够创建和编译程序。

JDK、JRE和JVM的关系

它们之间的关系是:JDK>JRE>JVM

JVM

JVM使Java语言具有了跨平台的特性。但需要注意的是JVM不跨平台,即Linux、Windows、Mac系统都可以使用同一套Java程序,但JVM不跨平台,不同的操作系统具有不同的JVM。

Java 虚拟机(JVM)是运⾏ Java 字节码的虚拟机。JVM 有针对不同系统的特定实现
(Windows,Linux,macOS),⽬的是使⽤相同的字节码,它们都会给出相同的结果。

字节码是什么?

在Java中,JVM可以理解的代码就称之为字节码,即扩展名为.class的文件,只面向Java虚拟机。

采用字节码的好处是什么?

采用字节码使得Java语言具有了跨平台可移植的特点,无须重新编译就可以在多种不同操作系统的计算机上运行。

Java 程序从源代码到运⾏⼀般有下⾯ 3 步:

JRE

首先说明的是,JRE就包括了JVM,除此之外,还有运行时需要的核心类库,它不包含开发工具(JDK)、调试器和其它工具

如果我们想要运行一个已有的Java程序,那么只需安装 JRE 即可。

JDK

JDK包括JRE所有的一切,所以也包括JVM,除此之外,还具有编译器(javac)和工具包(如javadoc、jdb等),能够创建和编译程序。

javac编译器能够将后缀名为.java的文件编译成后缀为.class的字节码文件。

如果我们想要开发一个全新的Java程序,那么必须安装 JDK 。

猜你喜欢

转载自blog.csdn.net/cnds123321/article/details/113376483
今日推荐