JVM
JVM(Java Virtual Machine,Java虚拟机)是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
JRE
JRE(Java Runtime Environment)是支持Java程序运行的标准环境。由Java SE API和Java虚拟机两部分组成。
JRE中包含Java虚拟机和Java SE API。
JDK
JDK(Java Development Kit)是用于支持Java程序开发的最小环境。由Java语言、Java虚拟机、Java API类库三个部分组成。
JDK中包含JRE。 JVM、JRE、JDK关系如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nODDlB4x-1619363971160)(./img/JVM、JRE、JDK.png)]
Java SE
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 EE
Java Platform Enterprise Edition(Java EE,企业版本)。Java EE帮助开发和部署可移植、健壮、可伸缩、安全的服务器端Java应用程序。
Java ME
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