首页 > 其他分享 >来聊聊 OpenJDK 和 JVM 虚拟机

来聊聊 OpenJDK 和 JVM 虚拟机

时间:2022-08-21 21:36:50浏览次数:145  
标签:IBM 虚拟机 Eclipse 认证 JVM 版本 Semeru OpenJDK

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

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

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

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

救民水火的 RedHat

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

挺好用的。

2022-08-21_08-47-03

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

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

如果错了请大家纠正。

IBM

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

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

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

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

2022-08-21_08-50-30

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

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

下载地址为: Latest releases

 

Snag_36fe907c

 

为什么有 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://www.ossez.com/t/openjdk-jvm/14058

标签:IBM,虚拟机,Eclipse,认证,JVM,版本,Semeru,OpenJDK
From: https://www.cnblogs.com/huyuchengus/p/16610902.html

相关文章

  • JVM 堆中存什么?栈中存什么?
    堆中存什么?栈中存什么?堆中存的是对象。栈中存的是基本数据类型和堆中对象的引用。一个对象的大小是不可估计的,或者说是可以动态变化的,但是在栈中,一个对象只对应了一个4bty......
  • 虚拟机安装Linux系统
    环境:Windows11+VMwareWorkstation16Pro安装:Linux的UbuntuCentOS(CommunityENTerpriseOperatingSystem)是Linux发行版之一,它是来自于RedHatEnterpriseLinux......
  • JVM内存与垃圾回收篇
    1概述2JVM与Java体系与结构2.1字节码我们平时说的java字节码,指的是用java语言编译成的字节码。准确的说任何能在jvm平台上执行的字节码格式都是一样的。所以应该统......
  • JVM命令
    设置命令-Xms  设置堆的最小空间大小-XX:NewSize  设置新生代最小空间大小-XX:MaxNewSize 设置新生代最大空间大小-XX:PermSize  设置永久代最小空间大小-XX:M......
  • 虚拟机jvm和hotspot的联系与区别
    JVM是虚拟机,总的来说是一种标准规范,虚拟机有很多实现版本。主要作用就是运行java的类文件的。而HotSpot是虚拟机的一种实现,它是sun公司开发的,是sunjdk和openjdk中自带的......
  • 【Java进阶】五分钟快速掌握JVM优化概念、常用命令、工具、JUC、多线程、GC等知识
    〇、概述1、资料 2、内容概括 一、概念(一)JVM (二)JUC (三)GC二、命令(一)JVM优化命令 (二)JUC命令三、工具(一)jdk工具......
  • jvm
    1.jvm的简单抽象模型:  2.类加载机制     双亲委派模型是为了防止jdk核心类库被篡改,如果需要打破可以重写Classloader.loadClass方法。r 双亲委派模型......
  • 初识Linux和安装虚拟机
    1、初识LinuxUNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。UNIX操作系统的特点:多用户和多任务a)多用户表示在同一时刻可以有多......
  • vagrant ssh登录虚拟机步骤
    进入操作过vagrantinit的目录,即有vagrantfile的文件如果有非vagrant ssh登录的方式登录了virtualbox的,请退出后操作执行:vagrantup  --启动virtualbox选择网络适......
  • 轻量级虚拟机wsl
    wsl是windows的子虚拟机与windows相互访问内存使用windows硬件gpu等轻便方便wincmd即可使用常用指令wsl--list--online#可用版本wsl--list--verbose#已安......