图形关系
JDK(java开发工具包)
JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是JVM,lib中则是JVM工作所需要的类库,而JVM和 lib和起来就称为JRE。
JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、Java工具(javac/java等)和Java基础的类库(即Java API 包括rt.jar)。
JRE(java运行时环境)
JRE是运行基于Java语言编写的程序所不可缺少的运行环境,所有的java程序都要在jre环境下才能运行。
JRE中包含了JVM,runtime class libraries(运行时类库)和本机程序库,这些是运行Java程序的必要组件。
JVM(java虚拟机)
JVM是运行.class文件(java字节码)的虚拟机。JVM针对不同系统有特定的实现(Windows、Linux、macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的JVM实现是java语言“一次编译,随处可运行”的关键所在。即体现了java垮平台的特点。
JVM的执行过程为:加载.class文件—>管理并分配内存—>执行垃圾回收