JDK(Java Development Kit): Java开发工具包,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。
JRE(Java Runtime Environment): Java运行环境,包含JVM标准实现及Java核心类库。
JVM(Java Virtual Machine):Java实现跨平台(可移植)的关键,使系统能够运行以Java语言写作的软件程序。
1.JDK:在安装JDK时,目录下面有六个文件夹、一些描述文件、一个src压缩文件。bin、include、lib、 jre这四个文件夹起作用。
bin:Java编译器(javac.exe)
include::java和JVM交互用的头文件
lib:类库
jre:java运行环境
可以看出JDK是包含JRE的
2.JRE:目录下包含bin和bli文件夹,这里的bin下就是JVM,lib中则是jvm工作所需要的类库。而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件(字节码文件)和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。
3.JVM:JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
三者之间的关系:
JDK 包含JRE,JRE又包含JVM。他们在功能上具有传递的关系,jdk编译程序(javac)编译好代码后生成.class文件,再通过包含的jre运行,而jre的运行又是通过自身的核心类库以及内置的 jvm的翻译功能实现的。
JVM:将字节码文件转成具体系统平台的机器指令。
JRE:JVM+Java语言的核心类库。
JDK:JRE+Java的开发工具。