jvm、jre、jdk

jvm(java virtual matchine)

JVM即为Java虚拟机,它是Java跨平台实现的最核心的部分,所有的Java程序首先被编译成java.class字节码文件,这种文件可以在JVM上执行,JVM在执行字节码文件时,把其翻译成具体平台上的机器指令执行。(一次编译,到处运行)

class文件并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib(jre中jar包)

jre(java runtime environment)

jre指Java运行环境。它包含Java虚拟机(jvm)、Java核心类库和支持文件。它不包含开发工具(JDK)--编译器,调试器和其他工具。

jre == jvm + lib

jdk(java development kit)

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

jdk = jre + 开发工具

原文地址:https://www.cnblogs.com/xumaomao/p/12794594.html