Tag: JDK

JAVA 那些事 – 聊聊那些易混淆的概念

本篇博文,跟大家一起回顾下JAVA那些易混淆的概念,包括 JVM/JRE/JDK,openJDK/oracleJDK,以及 JAVA SE/JAVA EE/Jakarta EE。

1 JVM/JRE/JDK

JVM,Java Virtual Machine,即 JAVA 虚拟机,是负责执行 JAVA 程序的。JVM 首先解释 JAVA 编译器编译获得的 bytecode 字节码,然后将类相关信息存储在内存中,最后执行 bytecode 字节码。JVM 有自己的 instruction set 指令集, 并在运行时管理各种内存区域。JVM 包含以下组件:

JRE, Java Runtime Environment,即 JAVA 运行时环境,是一系列运行 JAVA 应用程序所需的软件组件。JRE 包含以下核心组件:

JDK, Java Development Kit,即 JAVA 开发工具包,提供了开发/编译/调试/执行 JAVA 应用程序的环境和工具。JDK 包含以下核心组件:

从上文可以看出,三者之间的关系是:

zulu jdk_openJDK_oracleJDK_comparison_JVM_JRE_JDK_differences

JDK8

zulu jdk_JVM_JRE_JDK_differences_openJDK_oracleJDK_comparison

JDK11

2 常见的各种 JDK builds – openJDK, oracle JDK,Azul Zulu…

zulu jdk_JVM_JRE_JDK_differences_openJDK_oracleJDK_comparison

image

zulu jdk_JVM_JRE_JDK_differences_openJDK_oracleJDK_comparison

image

所以概括起来:

3 JAVA SE, JAVA EE,与 Jakarta EE3.1 JAVA SE

JAVA SE,即 Java Standard Edition, 早期版本称为 J2SE:

3.2 Java EE

Java EE,即 Java Enterprise Edition, 早期版本称为 J2EE:

3.3 Jakarta EE

Jakarta EE,即 Java Enterprise Edition, 早期版本称为 J2EE:

zulu jdk_JVM_JRE_JDK_differences_openJDK_oracleJDK_comparison

image

JVM_JRE_JDK_differences_openJDK_oracleJDK_comparison_zulu jdk

image

openJDK_oracleJDK_comparison_JVM_JRE_JDK_differences_zulu jdk

可以探讨任何IT技术话题和工作上的问题,一起学习共同进步!