参考文章
弄懂 JRE、JDK、JVM 之间的区别与联系_Walker_YAM-CSDN博客_jre和jvm
概念
JVM:英文名称(Java Virtual Machine),就是Java虚拟机,只认识xxx.class文件,仅仅是用来运行Java编译好的程序的(编译好的程序为xxx.class),一般是不能单独安装的,而且JVM要运行.class文件时,需要运用JRE中的类库来运行
JRE:英文名称(Java Runtime Environment),Java运行环境,主要包含两部分,JVM和Java的一些基本类库
JDK:英文名称(Java Development Kit),Java开发工具包,是java开发的核心,包含了编译、运行、开发、调试等一系列工具
理解
如果一个程序员,有写代码,编译运行和调试的需求,就需要安装JDK,主要面向开发者
如果只是一个普通用户,要运行编译好的.class文件,就只需要安装JRE就可以了,JRE可以运行编译好的.class文件
可以认为,JDK包含JRE,JRE包含JVM
JVM+部分类库(如rt.jar)=JRE
JRE+全部类库(例如编译、调试类库)=JDK
我们所说的Java适配性高,是指java文件通过javac(编译命令)得到的.class文件可以被不同操作系统的jvm所运行,而不是说明jvm都是一样的
Linux系统下,是Linux版的jvm
Windows系统下,是Windows版的jvm
图解
大题可以概括为