JDK,JRE,JVM之间的关系和区别

1.JDK,JRE,JVM的简介

(1) JDK (Java Development Kit)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。

JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

(2) JRE (Java Runtime Environment)

JRE是Java的运行环境,它是是一个软件,是由太阳微系统所研发的,JRE可以让计算机系统运行Java应用程序。

JRE的内部有一个Java虚拟机(JVM)以及一些标准的类别函数库,但它不包含开发工具(JDK)–编译器、调试器和其它工具。

(3) JVM (Java Virtual Machine):

JVM是Java虚拟机的缩写,它是一种用于计算设备的规范,是一个虚构出来的计算机,它是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。

2.三者之间的关系

话不多说,先上两张图

JDK,JRE,JVM之间的关系和区别
JDK,JRE,JVM之间的关系和区别
从图中可以清楚地看到,他们之间的关系是JDK包含JRE, JRE又包含JVM

因此,JDK包含JRE和JVM

简而言之
如果想要搭建一个环境,那么你只需要一个JDK,把JDK安装之后上面的环境都出来了,因为JDK就是一个软件包,包含了JRE和JVM。

4.三者之间的区别

通过上述对三者的介绍可知:

JDK是软件开发包,是java的核心,它包含了JRE和JVM。

而JRE是java的运行环境,它又包含JVM,是运行java必不可少的。

JVM则是java的虚拟机,用于计算设备的规范,同时也实现了java与平台的无关性这一特点,也是运行java必不可少的。

5.总结

总之,

开发的实际情况是:我们利用JDK(调用本地的API)开发属于自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解释这些字节码,映射到CPU指令集或OS的系统调用。

上一篇:手写双向数据绑定(Vue)


下一篇:java简史