目录
JVM、JRE、JDK的关系?
JDK、JRE、JVM都是什么?
JVM
JRE
JDK
JVM、JRE、JDK的关系?
三者包含关系:
JDK>JRE>JVM
JDK、JRE、JVM都是什么?
jdk:是用于java开发的最小环境 包括:java程序设计语言、Java虚拟机,java类库
jre:是java程序运行的标准环境。包含java虚拟机,Java类库
jvm:java虚拟机
JVM
JVM全称(Java Virtual Machine),就是我们很耳熟的Java虚拟机。它能够识别.class后缀的文件,并且能够解析它的指令,最终调用操作系统上的函数,完成我们想要的操作。
其实就相当于我们的操作系统,是负责翻译或者解释.class文件的,识别.class中的指令,从而调用操作系统中的指令。
在C和C++中,编译成的二进制文件是操作系统能够直接看懂的,java编译成的.class文件则是操作系统不认识的,还需要使用java命令去执行它
可以理解为java程序其实就是在JVM中运行的,JVM是使Java程序能够运行并且能够使之跨平台运行的核心。
JRE
JVM虽然功能强大,但是还是需要其他的小伙伴给它提供原料(.class文件
)。
如果只是靠JVM是无法实现java的一次编译到处运行的,他还需要一个基本的类库,也就是API
java体系中,当一个程序运行时,JVM也会一起运行和一起销毁,会一次性将JVM运行所需的类库都传递给它。JVM标准加上实现的一大堆基础类库,就组成了java的运行时环境 也就是JRE
有了JRE之后,我们就可以在任意系统中运行java程序了
JDK
当我们只想运行java程序的话,只需要jre就可以了,但是如果想编写java程序就需要用到jdk
需要注意的是:这里所说的java程序指的是.class文件,可以直接理解为jdk就是将.java文件编译成.class文件,然后交给jre去执行
JDK是工具,JRE是环境