JRE 和 JDK 的区别是什么?

关注者
342
被浏览
683,448
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

这个貌似简单的问题有了新答案!

答案有 3 层:

第 1 层:

JRE:Java Runtime Environment,运行环境
JDK:Java Development Kit,开发环境

应该用 JDK 编译项目,然后放到 JRE 服务器或 Docker 中运行,减小了部署体积:

JRE RPM 安装包比 JDK 小 50MB

JRE Linux Docker 比 JDK 小 100MB



第 2 层:

2018 年 Java 11 发布时,Oracle 宣布不再提供 JRE,开发者可使用 jlink 工具自己制作 JRE。

2021 年发布的 Java 17 也没有 JRE。

因为使用官方软件包最可靠,所以服务器/Docker 应使用官方 JDK,而不是自己做的 JRE。

所以此问题过时了。


第 3 层:

由于 Java 11 收费,OpenJDK 11 没有 LTS,大量开发者转向使用第三方 JDK,比如:Liberica、AdoptOpenJDK,它们提供了 JRE,比如:

Liberica JRE 17 体积 55MB,而 JDK 78MB。