1,定义:

JDK:
Java Develpment Kit java 开发工具
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库

JRE:
Java Runtime Environment java运行时环境
jre:java运行环境*

JVM:
java Virtual Machine java 虚拟机

三者之间的关系:
简单来说就是JDK包含JRE,JRE包含JVM的关系

Java基础:JDK、JRE、JVM的区别与联系

JVM就是java虚拟机,

三者联系:JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

JVM+Lib=JRE。

JDK和JRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。

JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持