JRE是Java运行环境用于运行已经编译的Java应用程序,里面包含了Java虚拟机(Java Virtual Machine简称JVM)、类加载器、运行时类库和其他支持文件,它是Java程序运行时必须要的软件环境;但它不是开发环境,不包含任何的开发工具
JDK是开发工具包,里面包含了Java编译器(将扩展名为java的Java源代码文件编译为 扩展名 为.class的Java字节码文件)、JVM、开发工具(如调试器和监视器)、类库、示例代码和其他开发工具。
要是想运行一个已经有了的Java程序,只需要安装JRE即可;要是想开发一个新的Java程序,则必须安装JDK,因为JRE不包含任何开发工具呀。
JVM是干啥的?我们有Windows系统、Linux系统以及Mac系统,Java应用程序想要运行在不同系统上难道要每个版本都写不一样的Java代码吗?显然不是,Java应用程序在API层面编写的代码都是一样的,我们只需要请各自的翻译(不同平台的虚拟机)来沟通不就好了。