java 与jdk 关系

news/2025/1/12 15:52:53/文章来源:https://www.cnblogs.com/rebrobot/p/18244060

 

 

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:

    • Oracle JDK 可以从 Oracle 的官方网站下载,通常需要接受 Oracle 的许可协议。

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

参考:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/723778.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LISA: Reasoning Segmentation via Large Language Model

Motivation & Abs 现有的感知系统依赖人类的指示,难以主动推理以理解人类意图。 新任务:reasoning segmentation,模型需要根据给定的复杂 / 具有隐含意义的文本输出相应的seg mask。 新的benchmark:包含1000张左右图像的数据集(image-instruction-mask)。 模型:LISA…

Navicat 索引类型、索引方法使用

选择索引类型(有四种)1. Normal(普通索引): - 普通索引是最常见的索引类型。 - 它用于加速查询操作,提高查询性能。 - 允许重复值,可以在一个字段上创建多个普通索引。 2. Unique(唯一索引): - 唯一索引要求索引列的值是唯一的,不允许重复值。 - 它用于保证…

Photoshop 2024 mac/win版:探索图像处理的全新境界

Photoshop 2024是Adobe推出的最新图像处理与设计软件,它在继承了前作所有优秀特性的基础上,实现了多个方面的质的飞跃。这款软件凭借其卓越的图像处理性能、丰富的创意工具以及精确的选区编辑功能,成为了图像处理领域的佼佼者。 →→↓↓载Photoshop 2024 mac/win版 在功能…

MoneyPrinterPlus:AI自动短视频生成工具,赚钱从来没有这么容易过

MoneyPrinterPlus使用AI大模型技术,一键批量生成各类短视频。一键混剪短视频,批量生成短视频不是梦。自动把视频发布到抖音,快手,小红书,视频号上。这是一个轻松赚钱的项目。 短视频时代,谁掌握了流量谁就掌握了Money! 所以给大家分享这个经过精心打造的MoneyPrinterPlus项目…

基于压电陶瓷传感器的智能枕头非侵入式生命体征监测

一、摘要 在家中睡眠期间对人体生命体征进行实时监测对于实现及时检测和救援至关重要。然而,现有的用于监测人类生命体征的智能设备存在高复杂性、高成本、侵入性或低准确性的缺点。因此,迫切需要开发一种简化、无干扰、舒适、低成本的睡眠实时监测系统。在本研究中,基于低成…

如何实现pdf转ofd?

Ofd格式是一种开放的文档格式,它具有更高的安全性、更好的跨平台性等优点。并广泛应用于各种文档管理和电子商务应用,比如:合同、报告、手册等。 我们日常办公中用到的发票大多是PDF格式,如何将pdf转换成安全性更高的ofd格式呢?今天小编给大家分享几个pdf转换成ofd格式的方…

高一高考集训欢乐赛

2024.6.12 高一高考集训欢乐赛记录大石碎胸口——万能青年旅店久违的头图渔王还想 继续做渔王 而海港已经 不知去向 此刻他醉倒 在洗浴中心 没有潮汐的梦 胸口已暮色苍茫 肥胖的城市 递给他一个 传统的方法 来克制恐慌 卖掉武器 风暴喉咙 换取饮食 背叛能让你获得自由 停电之后…

自动求导

向量链式法则标量链式法则拓展到向量例1例2自动求导 自动求导计算一个函数在指定值上的导数 计算图 将代码分解成操作子 将计算表示成一个无环图显式构造(Tensorflow/Theano/MXNet) 隐式构造(Pytorch/MXNet) 自动求导的两种模式 正向累积反向累积(反向传递)a.构造计算图 b.…

全国省市区县列表最新JSON2024最新

2024最新JSON数据,2024年更新 中国总共有23个省、5个自治区、4个直辖市、2个特别行政区。 最近需要用到中国城市列表的json串数据,费了不少时间,终于得到了比较全面的数据 暂时应该没有比我更全的了~~~ 得出以下数据json格式,XML格式(包含省市,县级市,县),总数:2893个 …

On the Parameterization and Initialization of Diagonal State Space Models

目录概符号说明S4D代码Gu A., Gupta A., Goel K. and Re C. On the parameterization and initialization of diagonal state space models. NeurIPS, 2022.概 Mamba 系列第四作: S4D. 符号说明\(u(t) \in \mathbb{R}\), 输入信号; \(x(t) \in \mathbb{R}^N\), 中间状态; \(y(t…

2024.06.05

【题目描述】编写程序,使用牛顿迭代法求方程在x附近的一个实根。【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。【输入格式】请在一行中输入方程系数a、b、c、d和实数x,数据中间以空格为间隔。【输出格式】对每一组输入的数据,输出牛顿迭代法…