1.JDK
JDK(Java development kit)即Java开发工具包。JDK中包含了JRE,在JDK的安装目录下有一个名为JRE的目录,里面有两个文件夹:bin和lib。可以认为bin就是JVM,lib则是JVM工作所需要的类库。JVM和lib合起来就成为JRE。
2.JRE
JRE(Java runtime environment)即Java运行环境。JRE是运行基于Java语言编写的程序所不可缺少的运行环境。通过JRE。Java开发者才得以将自己开发的程序发布到用户手中。JRE是Java的运行环境,并不是一个开发环境,所以没有包含任何的开发工具(例如编译器,调试器)。
3.JVM
JVM(Java virtual machine)即Java虚拟机,它是实现跨平台的最核心的部分。所有的Java程序被编译为.class字节码文件,这种文件可以在JVM上运行,也就是说.class文件并不直接晕机器的操作系统相对应,而是经过JVM与操作系统交互,由虚拟机将程序解释给本地系统执行。在解释.class的时候,JVM需要调用相关的信息,使得Java程序只需生成目标代码(字节码)文件,就可以在多种平台上不加修改的运行。
JDK包含了JRE,JRE又包含了JVM。