java 与jdk 关系

 

 

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

JDKJava Development Kit

JDKJava开发工具包,是Sun Microsystems针对Java开发员的产品。

JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹binlib,在这里可以认为bin里的就是jvmlib中则是jvm工作所需要的类库,而jvm lib和起来就称为jre

JDK是整个JAVA的核心,包括了Java运行环境JREJava 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 规范并通过了兼容性测试。

关系

  1. 开源与商业版本:

    • OpenJDK 是 Java SE 的开源版本,由社区开发和维护。
    • Oracle JDK 曾经是 Java SE 的商业版本,基于 OpenJDK 并添加了一些闭源的工具和功能(如更好的监控和管理工具)。从 Java 11 开始,Oracle JDK 和 OpenJDK 的区别逐渐缩小,Oracle JDK 也采用了与 OpenJDK 相同的代码库。
  2. 实现与规范:

    • OpenJDK 是对 Java SE 规范的实现。任何兼容的 Java SE 实现(包括 Oracle JDK、Amazon Corretto 等)都必须通过相同的兼容性测试套件(TCK)。
  3. 贡献与管理:

    • 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:

总的来说,OpenJDK 和 Java SE 之间的关系是规范和实现的关系。OpenJDK 是 Java SE 的开源实现,由社区开发和维护,而 Java SE 是由 Oracle 通过 JCP 定义和管理的 Java 平台标准。

参考:

 

posted @ 2024-06-12 15:33  redrobot  阅读(38)  评论(0编辑  收藏  举报