一次性掌握JDK、JRE、JVM的概念以及三者之间的关系【2021整理】

一、JDK、JRE、JVM概念解析

JDK(Java Development Kit):Java开发工具包,开发人员用来构建Java应用程序的软件包。
JRE(Java Runtime Environent):Java运行环境,运行Java程序所必须的环境的集合。
JVM(Java Virtual Machine):Java虚拟机。JVM是用C++编写的虚拟计算机,Java程序运行在JVM上,JVM负责对java程序进行解释执行。JVM实现Java语言的跨平台性

二、 JDK、JRE、JVM三者之间的关系

JDK包括Java虚拟机(JVM)、Java编译器(javac)、Java归档文件(JAR)、Java文档(javadoc)等。

JRE包括Java虚拟机(JVM)、运行时类库执行Java字节码所需要的Java应用程序启动器,但省略了Java编译器等开发工具。

如果只需要运行Java程序,而不需要进行开发时,则不需要完全安装JDK,只需要安装JRE即可,JRE是有独立的安装包的。可以从Oracle官网进行下载。

JDK包含了JRE,JRE包含了JVM。

只要安装了JDK,JRE和JVM就自动安装了。

不同的操作系统需要安装不同版本的JDK,有专门的windows版JDK,Linux版JDK,Mac版JDK等,当然,安装了不同版本的JDK后会对应不同版本的JRE和JVM。

Java程序并不直接与具体的操作系统进行交互,而是运行在JVM中,由JVM进行解释执行。而JVM负责与具体的操作系统进行交互,JVM屏蔽了操作系统之间的差异,实现Java语言的跨平台性。操作系统负责与硬件进行交互。

三者关系如图所示

在这里插入图片描述

相关文章

jinfo 命令可以用来查看 Java 进程运行的 JVM 参数,命令如下...
原文链接:https://www.cnblogs.com/niejunlei/p/5987611.ht...
java 语言, 开发者不能直接控制程序运行内存, 对象的创建都是...
jvm
1.jvm的简单抽象模型:  2.类加载机制     双亲委派模...
堆外内存JVM启动时分配的内存,称为堆内存,与之相对的,在代...
1.springboot和tomcat2.springcloud的请求如何通过网关鉴权?...