百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

来聊聊 OpenJDK 和 JVM 虚拟机 open jdk 和jdk的区别

suiw9 2024-11-04 15:23 85 浏览 0 评论

自从 Oracle 收购 Sun 以后,Java 世界也变了不少。

好在 Oracle 还开源了个 OpenJDK,并且很多东西都变了。

OpenJDK 就是一个桶,什么都可以往里面装,各大公司又纷纷推出自己的 JDK,简直直呼看不懂。

OpenJDK 在 Windows 环境下的诟病就是不好装,不知道怎么装。

救民水火的 RedHat

RedHat 应该注意到了这个情况,在自己的开发网站中推出了 RedHat OpenJDK 下载。我的本地开发环境就用的 RedHat 下载 OpenJDK。

挺好用的。

如果你怕麻烦,直接用这个 JDK 也没啥问题。

从安装的环境中看不出来 JVM 用的是那个版本,应该是 HotSpot 吧。

如果错了请大家纠正。

IBM

在实际世界中,推动开源的还有 IBM。

这个名字不应该被忘记,虽然近些年有点廉颇老矣的意思了。

IBM 推出了 semeru, 下载页面是 IBM Developer

上面使用的 OpenJDK 和 OpenJ9 的虚拟机。

因为同事的新机器要配置 JDK,突然问我要什么 JDK,我才从 IDEA 上面找到的。

上面还有一个 Eclipse Temurin 下载,你可能就有点困惑,我到底要下载那一个了。

下载地址为: Latest releases

为什么有 2 个版本

为什么这里有 2 个 OpenJDK 版本的下载呢?

经过考古,主要原因是这 2 个 OpenJDK 的 JVM 虚拟机版本不一样。

Eclipse Temurin 使用的是 Hotspot 的虚拟机。

IBM Semeru 使用的是 OpenJ9 的虚拟机。

IBM 和 Eclipse 基金会的渊源

IBM 将自己的开源的东西捐献给了 Eclipse 基金会。

可以说没有 IBM 就没有 Eclipse,Eclipse 就是 IBM 成立的,但是 Eclipse 又是独立运作的,捐献出去的东西也和 IBM 没有什么太大关系了。全部都是 Eclipse 基金会维护的。

IBM Semeru 认证

IBM Semeru 下面又出现了一个认证的版本。

Eclipse Temurin 提供 OpenJDK + Hotspot 映像,IBM Semeru Runtimes 将提供 OpenJDK + Eclipse OpenJ9 映像的开放和认证 (JCKed) 版本。

这是一个令人困惑的故事和过渡,我会尝试添加一些背景。到目前为止,AdoptOpenJDK 一直在使用 Hotspot 和 OpenJ9 VM 生成 OpenJDK 二进制文件。

随着 Adopt 迁移到 Eclipse,法律限制阻止了新的 Eclipse Adoptium 小组生产/发布基于 OpenJ9 的二进制文件。

因此,IBM 将以 IBM Semeru Runtimes 的家族名称生产基于 OpenJ9 的 2 种风格的二进制文件,即 Open 和 Certified。本质上相同的二进制文件,在不同的许可证下发布。

下载 IBM Developer 就可以开始使用了。

IBM Semeru Runtimes将有两个版本,具有不同的许可证:IBM Semeru Runtime开放版具有开源许可证(GPLv2+Classpath扩展),而IBM Semeru Runtime认证版具有IBM许可证。IBM Semeru Runtime都通过了全面的Eclipse AQAvit质量保证测试套件,以提供一个稳定和可支持的引擎,可以运行任何种类的Java应用程序。

正如其名称所示,IBM Semeru Runtime认证版也经过了Java TCK认证。 为了支持新的命名规则,从2021年7月的更新版本开始,当前的IBM SDK,即Java技术版11,将更名为IBM Semeru Runtime认证版。

上面的话真的很绕。

我的理解就是因为 OpenJ9 已经捐献给了 Eclipse 基金会了。从法律角度来说和 IBM 已经没有什么关系了,这个是属于 Eclipse 基金会的东西。

IBM 为了避免法律上面的麻烦搞了个认证版本。

这个认证版本和不认证版本的代码和结构都完全相同,只是 IBM 可能希望通过认证版本提供一些更多的支持吧。

对于开发人员来说,都一样没区别,放心用。

写在最后

Java 世界有了不少的变化。

IBM 是我一直比较敬佩的公司,从 Dev2Dev 网站到对 Java 世界的支持。

以及捐献给 Eclipse 基金会的很多产品,都让人值得怀念。

对比 Oracle 的贪得无厌,微软的小肚鸡肠,IBM 和 RedHat 都值得大家为他们点个赞。

虽然现在 Java 的版本已经被搞得乱得不要不要的了。

简单总结下就是,如果你希望:

OpenJDk + HotSpot 虚拟机: 下载 Eclipse Temurin 或者 RedHat 版本。
OpenJDK + OpenJ9 虚拟机:下载 IBM Semeru 版本(认证不认证都一样)

相关推荐

俄罗斯的 HTTPS 也要被废了?(俄罗斯网站关闭)

发布该推文的ScottHelme是一名黑客,SecurityHeaders和ReportUri的创始人、Pluralsight作者、BBC常驻黑客。他表示,CAs现在似乎正在停止为俄罗斯域名颁发...

如何强制所有流量使用 HTTPS一网上用户

如何强制所有流量使用HTTPS一网上用户使用.htaccess强制流量到https的最常见方法可能是使用.htaccess重定向请求。.htaccess是一个简单的文本文件,简称为“.h...

https和http的区别(https和http有何区别)

“HTTPS和HTTP都是数据传输的应用层协议,区别在于HTTPS比HTTP安全”。区别在哪里,我们接着往下看:...

快码住!带你十分钟搞懂HTTP与HTTPS协议及请求的区别

什么是协议?网络协议是计算机之间为了实现网络通信从而达成的一种“约定”或“规则”,正是因为这个“规则”的存在,不同厂商的生产设备、及不同操作系统组成的计算机之间,才可以实现通信。简单来说,计算机与网络...

简述HTTPS工作原理(简述https原理,以及与http的区别)

https是在http协议的基础上加了一层SSL(由网景公司开发),加密由ssl实现,它的目的是为用户提供对网站服务器的身份认证(需要CA),以至于保护交换数据的隐私和完整性,原理如图示。1、客户端发...

21、HTTPS 有几次握手和挥手?HTTPS 的原理什么是(高薪 常问)

HTTPS是3次握手和4次挥手,和HTTP是一样的。HTTPS的原理...

一次安全可靠的通信——HTTPS原理

为什么HTTPS协议就比HTTP安全呢?一次安全可靠的通信应该包含什么东西呢,这篇文章我会尝试讲清楚这些细节。Alice与Bob的通信...

为什么有的网站没有使用https(为什么有的网站点不开)

有的网站没有使用HTTPS的原因可能涉及多个方面,以下是.com、.top域名的一些见解:服务器性能限制:HTTPS使用公钥加密和私钥解密技术,这要求服务器具备足够的计算能力来处理加解密操作。如果服务...

HTTPS是什么?加密原理和证书。SSL/TLS握手过程

秘钥的产生过程非对称加密...

图解HTTPS「转」(图解http 完整版 彩色版 pdf)

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。...

HTTP 和 HTTPS 有何不同?一文带你全面了解

随着互联网时代的高速发展,Web服务器和客户端之间的安全通信需求也越来越高。HTTP和HTTPS是两种广泛使用的Web通信协议。本文将介绍HTTP和HTTPS的区别,并探讨为什么HTTPS已成为We...

HTTP与HTTPS的区别,详细介绍(http与https有什么区别)

HTTP与HTTPS介绍超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的...

一文让你轻松掌握 HTTPS(https详解)

一文让你轻松掌握HTTPS原文作者:UC国际研发泽原写在最前:欢迎你来到“UC国际技术”公众号,我们将为大家提供与客户端、服务端、算法、测试、数据、前端等相关的高质量技术文章,不限于原创与翻译。...

如何在Spring Boot应用程序上启用HTTPS?

HTTPS是HTTP的安全版本,旨在提供传输层安全性(TLS)[安全套接字层(SSL)的后继产品],这是地址栏中的挂锁图标,用于在Web服务器和浏览器之间建立加密连接。HTTPS加密每个数据包以安全方...

一文彻底搞明白Http以及Https(http0)

早期以信息发布为主的Web1.0时代,HTTP已可以满足绝大部分需要。证书费用、服务器的计算资源都比较昂贵,作为HTTP安全扩展的HTTPS,通常只应用在登录、交易等少数环境中。但随着越来越多的重要...

取消回复欢迎 发表评论: