JDK、JRE、JVM之间的区别和联系

三者的关系是JDK>JRE>JVM

JDK:英文名称(Java Development Kit),Java开发工具包。JDK是整个Java开发的核心,它集成了JRE和一些好用的小工具,例如javac.exe、java.exe、jar.exe等。

JRE:英文名称(Java Runtime Environment),Java运行环境。它主要包含两个部分,JVM和Java的基本类库。它对于JVM来说,多出来的就是一部分Java类库。

JVM:英文名称(Java Virtual Machine),Java虚拟机。它只认识xxx.class类型的文件,它能够将class文件中的字节码指令进行识别并调用操作系统向上的API完成动作。所以说,JVM是Java能够跨平台的核心。

上面说到Java可以跨平台运行的核心在于JVM。实际上不是Java可以跨平台使用,而是它的JVM能够跨平台。众所周知,不同的操作系统向上的API肯定是不同的,我们要想写代码让系统执行一项操作必须针对不同的系统的API来写出不同的代码来完成。然而Java中引入了字节码的概念,同一段代码在编译后的字节码是一样的,JVM只认识字节码,并可以将字节码解释到系统的API调用,针对不同的系统,有不同的JVM实现,有Windows的JVM实现,也有Linux的JVM实现。在API层面,只是调用了不同的JVM而已,和代码无关,从而实现了代码不加修改即可跨平台运行。

猜你喜欢

转载自www.cnblogs.com/1996yrb/p/12320943.html