当前位置: 首页 > news >正文

Java JRE的没落

在Java 9版本之后,Oracle 改变了 Java 的发行方式,移除了JRE(Java Runtime Environment)的独立发布。因此,Java 9(以及之后的版本)也没有单独的 JRE 了。而OpenJDK一般

一、JDK和JRE对比

JDK(Java Development Kit)和JRE(Java Runtime Environment)都曾经是Java 相关的两种重要组件,它们有不同的用途和功能。

1、JDK(Java Development Kit)

JDK 是 Java 开发工具包,它是用于开发 Java 程序的完整工具集。它包含了编译器、调试工具、文档生成工具等,供开发者使用。

JDK 包含了 JRE,因此 JDK 具备运行 Java 程序的能力。

编译器(javac)用于将 Java 源代码(.java文件)编译成字节码(.class文件)。

调试器(jdb)用于调试 Java 程序。

其他开发工具:包括 Javadoc(生成 API 文档的工具)、JAR(Java Archive,用于打包类文件)等。

JDK 是为开发人员准备的,开发人员需要它来编写、调试和编译 Java 应用程序。

2、JRE(Java Runtime Environment)

JRE 是 Java 运行时环境,它是一个提供 Java 程序运行所需的环境。JRE 主要用于运行 Java 应用程序。它包括JVM和类库。

JVM:是执行 Java 程序的核心部分,它负责加载字节码并执行代码。

类库:JRE 包含了 Java 标准库(如 java.util、java.io 等),这些库是 Java 程序运行时所需要的类和包。

JRE 是为普通用户提供的,普通用户只需要它来运行 Java 应用程序,而不需要开发工具。

3、两者对比

4、什么时候使用 JDK,什么时候使用 JRE:

开发阶段:如果我们是 Java 开发人员,编写和编译 Java 程序,那么我们需要安装 JDK。

运行阶段:如果我们只是需要运行已经编译好的 Java 程序,而不进行开发,我们只需要安装 JRE。

二、为什么没有JRE

1、模块化系统(Project Jigsaw):

在 Java 9 引入了模块化系统(Project Jigsaw),这使得 JDK 的结构更加模块化。

Java 运行时环境的组成变得更加灵活,用户可以选择需要的模块,而不再需要安装完整的 JRE。

2、JDK 中包含了运行时环境:

在 Java 9 之后,JDK 包含了开发工具(如编译器、调试器)以及JVM 和所有 Java 类库,也就是说运行 Java 程序所需的运行时环境已经和开发工具捆绑在一起。

所以,Java 9 和之后的版本中,不再单独发布 JRE,用户和开发者都只需要安装 JDK,JDK 中包含了 JVM 和所有必需的类库,满足开发和运行 Java 程序的需求。

3、对用户的影响

如果我们只需要运行 Java 程序,以前我们可能只需要 JRE,但现在我们只需要安装 JDK,因为 JDK 自带了运行时环境(JVM 和类库)。

4、应对办法

但是许多第三方应用需要配置jre路径,我们可以手工生成jre,例如:

cd D:\Program Files\Java\jdk11.0.9
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
一键获取完整项目代码
bash
三、最后总结

现在,在 Java 9 和之后的版本中,不再单独发布 JRE,用户和开发者都只需要安装 JDK,JDK 中包含了 JVM 和所有必需的类库,满足开发和运行 Java 程序的需求。

这个讨厌的页面我们不需要了。

http://www.jsqmd.com/news/155093/

相关文章:

  • 7款AI论文神器实测:30分钟生成万字,知网查重轻松过!
  • YOLOv10模型结构创新:无需后处理的真正端到端
  • 题解:P14913 「QFOI R3」难度评分
  • 12.28
  • YOLOv9-EfficientRep重参数化卷积详解
  • YOLOv8-Scale-YOLOv8多尺度训练策略解析
  • gorm - 查询为 或 为 null 的数据
  • 朴素贝叶斯算法实现与测试 -
  • APP备案,iOS签名文件MD5、公钥获取方法
  • 宝妈必收!2025 年口碑爆棚的十大童装品牌推荐,承包宝贝全年穿搭 - 品牌测评鉴赏家
  • YOLOv8-Transformer解码器实验版发布
  • 今年冬天,这些儿童羽绒服承包宝贝的温暖与时尚 - 品牌测评鉴赏家
  • Prebuild tools
  • YOLO目标检测API支持OCR后处理,多模态结果输出
  • 专业照明如何通过核心参数提升商业空间氛围与体验
  • YOLO目标检测API支持多区域部署,就近调用GPU资源
  • 软件工程实践课程总结
  • Linux 信号发送和保存
  • (10-2)基于MCP实现的多智能体协同系统:通用模块
  • YOLO模型镜像支持Slurm作业调度,高校GPU集群适用
  • 英语_阅读_making us smarter or just helping us_待读
  • YOLO模型镜像集成Wandb监控,实时查看GPU训练状态
  • YOLO模型镜像提供多种CUDA版本选择,兼容老旧GPU
  • (10-3)基于MCP实现的多智能体协同系统:Git管理模块
  • Files文件管理器性能调优实战:从瓶颈定位到极致优化
  • MBA必看!8个降AIGC工具推荐,高效应对AI检测
  • 工业视觉圈子里最近总有人问,怎么把Halcon的3D点云处理能力塞进C#开发的系统里。今天咱们就聊聊这个实战场景,直接上硬菜
  • YOLOv10模型支持Tensor Cores,充分利用Ampere架构GPU
  • YOLO目标检测在停车场管理中的应用:车位占用识别
  • YOLO目标检测在野生动物保护中的应用:红外相机识别