java与jdk的关系
Java与JDK的关系是,Java是一种编程语言,而JDK(Java Development Kit)是Java语言的官方开发工具包。12
JDK是整个Java技术的核心,它包括了JRE(Java Runtime Environment)和一系列Java开发工具(如javac、java、javadoc等)。JRE是Java的运行环境,包括了JVM(Java Virtual Machine)和Java类库,用于在计算机上运行Java程序。而JDK则是在JRE的基础上,增加了Java编译器(javac)和其他开发工具,专门为Java开发人员设计,用于编写、编译和运行Java应用程序。
简而言之,JDK是面向开发人员的,提供了Java开发所需的工具和资源,而JRE则是面向普通用户和终端用户的,用于执行Java应用程序。因此,如果只是需要运行Java程序,只需要下载JRE即可;如果是要开发Java程序,则需要下载JDK。
此外,JDK、JRE和JVM之间存在层次关系:JDK包含JRE,因为JDK不仅提供了JRE的功能,还包含了用于Java开发的编译器等工具;JRE包含JVM,因为JVM是Java程序的运行时环境,而JRE提供了运行Java程序所需的JVM和Java类库。这种关系体现了JDK、JRE和JVM在Java技术栈中的不同角色和功能。
来自:https://www.cnblogs.com/iskandar/p/8933340.html
JDK(Java Development Kit)
JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。
JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
①SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
②EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
③ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。
open jdk 与 java SE关系:
OpenJDK(Open Java Development Kit)和 Java SE(Java Platform, Standard Edition)之间的关系如下:
定义和背景
-
Java SE:
- Java Platform, Standard Edition (Java SE) 是由 Oracle 定义的 Java 平台标准,包含核心 Java 语言、标准类库和 JVM(Java Virtual Machine)。
- Java SE 提供了编写和运行 Java 应用程序所需的 API 和工具,是所有 Java 平台(包括 Java ME 和 Java EE)的基础。
- Java SE 由 JCP(Java Community Process)通过 JSRs(Java Specification Requests)来管理和规范。
-
OpenJDK:
- OpenJDK 是 Java SE 的一个开源实现。它包含 Java SE 规范中定义的所有组件,包括编译器(javac)、虚拟机(HotSpot)、标准类库等。
- OpenJDK 项目由 Oracle 主导,并有许多来自社区和其他公司(如 Red Hat、IBM)的贡献者。
- OpenJDK 是 Java SE 的参考实现,这意味着它完全遵循 Java SE 规范并通过了兼容性测试。
关系
-
开源与商业版本:
- OpenJDK 是 Java SE 的开源版本,由社区开发和维护。
- Oracle JDK 曾经是 Java SE 的商业版本,基于 OpenJDK 并添加了一些闭源的工具和功能(如更好的监控和管理工具)。从 Java 11 开始,Oracle JDK 和 OpenJDK 的区别逐渐缩小,Oracle JDK 也采用了与 OpenJDK 相同的代码库。
-
实现与规范:
- OpenJDK 是对 Java SE 规范的实现。任何兼容的 Java SE 实现(包括 Oracle JDK、Amazon Corretto 等)都必须通过相同的兼容性测试套件(TCK)。
-
贡献与管理:
- OpenJDK 项目是由 Oracle 领导的开源项目,但有广泛的社区参与。
- Java SE 规范是通过 JCP 过程来定义和更新的,而 OpenJDK 社区负责具体的实现工作。
实际使用
- 开发者选择:
- 开发者可以选择使用 OpenJDK 或 Oracle JDK 进行开发,两者在功能上几乎没有差异。由于 OpenJDK 是开源的,并且从 Java 11 开始,Oracle JDK 采用了与 OpenJDK 相同的代码库,许多开发者更倾向于使用 OpenJDK。
- 企业用户可能会选择 Oracle JDK 以获得商业支持和额外的服务。
示例
-
下载和安装 OpenJDK:
- OpenJDK 可以从 OpenJDK 官方网站下载,也可以从各大 Linux 发行版的包管理器中安装。
- 示例(在 Ubuntu 上安装 OpenJDK 11):
sh
sudo apt-get update sudo apt-get install openjdk-11-jdk
-
下载和安装 Oracle JDK:
- Oracle JDK 可以从 Oracle 的官方网站下载,通常需要接受 Oracle 的许可协议。
总的来说,OpenJDK 和 Java SE 之间的关系是规范和实现的关系。OpenJDK 是 Java SE 的开源实现,由社区开发和维护,而 Java SE 是由 Oracle 通过 JCP 定义和管理的 Java 平台标准。
参考:
标签:关系,JRE,Java,jdk,JDK,OpenJDK,Oracle,java,SE From: https://www.cnblogs.com/rebrobot/p/18244060