JVM(Java Virtual Machine,Java虚拟机)是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
JRE(Java Runtime Environment)是支持Java程序运行的标准环境。由Java SE API和Java虚拟机两部分组成。
JRE中包含Java虚拟机和Java SE API。
JDK(Java Development Kit)是用于支持Java程序开发的最小环境。由Java语言、Java虚拟机、Java API类库三个部分组成。
JDK中包含JRE。 JVM、JRE、JDK关系如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nODDlB4x-1619363971160)(./img/JVM、JRE、JDK.png)]
Java Platform Standard Edition (Java SE,Java 标准版本)。Java 5.0版本之前,Java SE 称为 J2SE。对于"J2"的解释,一说是"Java to",也有说是”Java 1.2“。这里”“Java 1.2”是指1998年12月,SUN公司发布的Java 1.2,开始使用“Java 2”,通常所说的Java都是指Java2。同样地,Java EE、Java ME分别对应J2EE、J2ME。
Java SE 让用户可以在桌面和服务器上以及嵌入式环境中开发和部署 Java 应用程序。Java SE 包含 Java 编程语言库的核心。
Java SE 由 Java Development Kit (JDK)、Java Runtime Environment (JRE) 和 Java SE 应用程序编程接口 (API) 组成。JDK 包含 JRE 以及开发小程序和应用程序所必需的编译器和调试器。JRE 提供运行用 Java 小程序和应用程序所需的库、Java 虚拟机 (JVM) 和组件。
Java Platform Enterprise Edition(Java EE,企业版本)。Java EE帮助开发和部署可移植、健壮、可伸缩、安全的服务器端Java应用程序。
Java Platform Micro Edition(Java ME,微型版本)。Java ME为在移动设备和嵌入式设备(笔记手机,PDA,电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。
https://www.oracle.com/cn/java/technologies/java-standard-edition.html
http://www.weixueyuan.net/view/5942.html
https://blog.csdn.net/yuanjin_1990/article/details/80612746