首先要明确三者的关系:JDK > JRE > JVM
JVM:java虚拟机,是jre的一部分,只认识.class文件,是java跨平台运行的核心。它有自己完善的硬件架构,如处理器、堆栈、寄存器、指令系统等。java文件编译后产生的.class文件都是一样的,而不同的操作系统使用不同的jvm,jvm会将.class文件解释成本操作系统所能识别的指令,从而实现跨平台运行。
JRE:java运行时环境,它包含jvm和基本类库
JDK:java工具包,是java开发的核心,它集成了jre和一些常用的工具,如javac.exe、java.exe、jar.exe、javadoc.exe
细心的同学可能会发现在java的安装包中包含两个文件夹jdk和jre,但是jdk中又包含了一个jre文件,那它和前面那个jre有什么区别呢?
其实都是一样的。如果安装了jdk,那完全可以不用安装jre了,因为jdk里面已经包含了jre,有了jdk就可以拥有了java的开发环境+运行环境。如果你的电脑不需要开发java,只是用来部署java(相当于服务器),那只需要安装jre即可,因为它已经包含了运行java所需要的类库和jvm