二、JDK、JRE、JVM的区别与联系

128 阅读1分钟

java.webp

JDK

JDK: Java开发工具,用于Java程序的开发,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等, 是整个Java的核心。

image.png

JRE

JRE: Java运行时环境,也是通过它,Java的开发者才可以将自己开发的程序发布到用户手中,让用户使用,与jdk不同,jre是运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器,调试器)等,只是针对使用java程序的用户,它包含JVM标准实现及Java核心类库

JVM

JVM: Java虚拟机, 它是整个java实现跨平台的最核心的部分,所有的java程序首先被编译为.class文件,这种类文件可以在虚拟机上运行,也就是说class并不直接与机器的操作系统相对应。而是经过虚拟机间接的与操作系统交互,由虚拟机将程序解释给本地系统执行,只有jvm还不能将class执行,因为在解释class的时候jvm需要调用解释所需要的类库lib,而jre包含lib类库,jvm屏蔽了具体操作系统平台的相关信息,使得java程序只需要生成在java虚拟机上运行的目标代码。可以在多种平台(操作系统)上不加修改的运行,"一次编写,到处运行"。

关联关系

关联关系

JDK包含JRE,JRE包含JVM的关系

image.png