Hollis的新书限时折扣中,一本深入讲解Java基础的干货笔记!

阿里、华为和微软等多家国内外厂商组团搞OpenJDK,还问Oracle为啥不参加?

近日,Eclipse 基金会和 Adoptium 工作组宣布搞了一件大事情,这件事情应该是Oracle不喜欢的,就是推出了一个叫做Adoptium Marketplace的项目,简单翻译就是Adoptium 市场!

这是干嘛的?市场嘛,肯定是展示或者销售一些东西,而这个Adoptium Marketplace则是给大家提供经过严格测试的符合标准的高质量Java二进制文件,简单点,就是给你提供JDK和JRE供你下载,全部都是基于OpenJDK!

目前Adoptium Marketplace已正式开放,可以下载了:

不过我发现这个Adoptium Marketplace目前只提供JDK的长期支持版本下载,也就是如下三个LTS版本:

那说到这里,有些人肯定不太明白,有点云里雾里,那必须给你普及一些知识了!

LTS

首先就是Java的LTS的版本,目前主要有如下这几个:

  1. Java SE 8(LTS)

  2. Java SE 11(LTS)

  3. Java SE 17(LTS)

那这个是啥意思呢?这还不简单,这是Java的长期支持版本,没错,LTS代表长期支持版本,目前Java中已经发布的Java8,11和17是长期支持版本,那么,你可知道长期支持版本的发布周期呢?

我们来看,目前三个出现的长期支持版本的发布时间:

  1. Java 8 是2014年发布

  2. Java 11是2018年发布

  3. Java 17是2021年发布

那么你说Java长期支持版本的发布周期是多少呢?四年还是三年?我告诉你吧,是三年,何以证明,我们可以从官方网站上找到说明:看图

以上描述出现在oracle官网中的“oracle Java SE支持路线图”中,也就是这里:

地址是:https://www.oracle.com/java/technologies/java-se-support-roadmap.html

ok,那么现在我们了解到Java的长期支持版本是每三年发布一次,但是下一个长期版本21将在2023年9月发布,有消息称长期支持版本将改为两年一次,我就想说,这个Oracle办事……

OpenJDK和Oracle JDK

首先,你要知道,我们平常说的JDK,大多数指的是Oracle JDK,也可以说,Oracle JDK是最正宗的JDK,这意思就是说还有其他的JDK!

我们知道,Java源于Sun公司,但是后来经营不善,被收购了,看一张图:

也就是说在1998年到2006年之间吗,这是属于Sun公司的时代,在2006年的时候,Sun公司选择开源JDK的源代码,当然去除了一些闭源特性,这就是现在我们常说的OpenJDK(是不是感觉自己大限将至,赶紧开源出去?)

那在2009年的时候,Sun公司就被Oracle给收购了,此时这个Java就是Oracle说的算了!

Sun被oracle收购之后,在2011年发布了Java7,这一年,Oracle承诺回到以前每两年发布一次的发布周期。但是,就要到了2013年的时候,oracle却宣布Java延期发布,说是有漏洞,在修复,于是最终Java8是在2014年发布的。

也就是Java7到Java8是隔了三年,那到了发布Java9的时候也是隔了三年,是在2017年发布的,这是不是意味着oracle不再遵循sun之前的每两年发布一次,而是三年发布一次呢?

事情有了转机,在2017年Java9发布之后,Java平台的主架构师 Mark Reinhold 发出提议,要求将Java的功能更新周期从之前的每两年一个新版本缩减到每六个月一个新版本。该提议获得了通过,并在提出后不久生效。

于是从Java9开始就是每6个月发布一次新版本了,但是此前oracle想要每三年发布一次版本的念头还没有打消,于是乎,你猜的没错,就是LTS版本的发布周期……

2006年Sun公司开源出去的Java源码形成了至关重要的社区组织,也就是OpenJDK,在Oracle收购Sun公司之后,这个OpenJDK也被Oracle接管了!

两者区别

我们一般说的JDK自从sun被oracle收购之后,指的就是oracle JDK了,那这个与OpenJDK有啥区别呢?

Java Development Kit(JDK)是sun公司搞出来的,在2006年sun公司决定将其开源,但是在JDK中的源码有一部分是商业源码,就是JDK中的源码不全是sun公司的,那这块代码sun公司是无权将其开源的,这些代码被称为闭源的一些特性,但是sun还是讲这部分闭源特性给去掉将JDK源码开源了。

但是由于开源后的代码少了一些闭源特性,也就是少了一些商业代码所提供的功能怎么办呢?采取的办法则是找寻具有相同功能的开源代码做了替代,于是就成就了OpenJDK。

后来oracle不是收购了sun嘛,这个OpenJDK自然也就属于oracle的了,于是oracle在OpenJDK的基础之上,又增加了一些额外的功能特性,于是就成就了oracle JDK,也就是我们今天普遍说的JDK,实际上oracle JDK和OpenJDK没啥重大的技术差别,只不过oracle JDK针对性的增加了一些功能,但是OpenJDK是包含sun公司之前创造的JDK的全部核心功能的,而且由于oracle的这一操作,oracle JDK就成了商业版本,在生产环境使用,最好是要规避一些风险的,而OpenJDK则是免费试用,源码开放!

那说到这里,你知道oracle JDK(简称JDK)和OpenJDK之间的差别了吗?

OpenJDK只包含JDK中最核心的功能,JDK中的一些非核心功能OpenJDK是不包含的,比如oracle自行添加的一些商用功能以及额外特性。

可以说,OpenJDK是JDK的极简版本,另外还有一个重要知识点:

我们一般说的JDK指的就是oracle的JDK,每次JDK的新版本发布,都是把OpenJDK中的更新拿过来加上自己的私有部分,也就形成了最终的新版本JDK。

JDK的不同厂商

通过上述描述,我们知道OpenJDK就是包含大部分原有JDK的核心,而现在说的JDK指的是oracle在OpenJDK之上加上私有特性形成的oracle JDK,因为现在OpenJDK是被oracle主导的,那么oracle JDK也就享有特权直接叫JDK。

可是不管怎么说,OpenJDK是开源的,不仅你oracle可以拿过来加上私有特性形成你的oracle JDK,其他厂商也可以这么做,比如有如下这些:

  1. AdoptOpenJDK:算是半官方,这个是由OpenJDK社群维护的

  2. Amazon(亚马逊) Corretto JDK

  3. 阿里 Dragonwell JDK

  4. 腾讯 Kona JDK

  5. 华为毕昇 JDK

等等……其本质就是拿OpenJDK加上私有特性构建而成!

但是,你一定要记住的一个就是,Oracle Java现在是商用的,它搞出来的要收费的,要钱的!

Adoptium

那Adoptium又是啥?通过上面的介绍,我们知道了JDK是有不同的厂商的,都是在OpenJDK的基础上构建而来,这其中有一个比较特殊,就是AdoptOpenJDK,因为它算是半个官方,为啥?

因为AdoptOpenJDK是直接由OpenJDK社群维护的,也就是说,你们都根据我OpenJDK去进行新特性增加改造搞新的出来,我自己不也可以搞,岂不是更加方便,于是就有了AdoptOpenJDK!

而这个AdoptOpenJDK在2020年的时候就以Adoptium这个名字转移到了Eclipse Foundation项目中去,你就可以理解成Adoptium以前叫做AdoptOpenJDK!

现在的Adoptium是一个工作组,主要成员包括阿里云、华为、IBM、iJUG、 Karakun AG、微软、New Relic和Red Hat于 2021 年 3 月发起。

Adoptium Marketplace

这次的Adoptium Marketplace就是由eclipse基金会牵头联合Adoptium工作组发起的一个项目,目的就是大家伙团结起来,一起贡献力量,去构建更好的OpenJDK!

正如Eclipse 基金会执行董事 Mike Milinkovich 所说“在 Java 生态系统中,第一次有一群供应商团结在一起,不仅是一个兼容性标准,而且是一个质量标准,这是一个重要的里程碑,对于行业来说,这是一个机会,可以在高质量的 OpenJDK 运行时的样子方面立足。

此前,给个厂商在OpenJDK基础之上构建属于自己的独特的JDK,都有他们自己的一个名称,比如OpenJDK官方的叫做AdoptOpenJDK,阿里的叫做Dragonwell JDK,华为就是毕昇 JDK,而这次大家共同成立的这个Adoptium Marketplace发行的JDK也有自己的名称,叫做“Eclipse Temurin”简称就是“Temurin”了!

我们从Adoptium Marketplace的官方网站也可以看到:

Oracle拒绝加入

那对于这样的一个项目,大家最容易想到的就是Oracle了,毕竟人家算得上是正主,所以此项目一定会邀请Oracle的加入,但是结果呢?

Oracle选择拒绝加入,你们知道为啥吗?评论区可以聊一聊!

参考链接:

1.https://www.infoworld.com/article/3662048/eclipse-opens-java-binaries-marketplace.html

2.https://adtmag.com/articles/2022/05/26/eclipse-adoptium-marketplace-launches.aspx

3.https://adoptium.net/marketplace/

我的新书《深入理解Java核心技术》已经上市了,上市后一直蝉联京东畅销榜中,目前正在6折优惠中,想要入手的朋友千万不要错过哦~长按二维码即可购买~

长按扫码享受6折优惠

往期推荐

IDEA 官宣全新默认 UI,太震撼了!!

几行代码,搞定 SpringBoot 接口恶意刷新和暴力请求!

消息队列原理和选型:Kafka、RocketMQ 、RabbitMQ 和 ActiveMQ

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号

好文章,我在看❤️

阿里、华为和微软等多家国内外厂商组团搞OpenJDK,Oracle为啥不参加?相关推荐

  1. 六家云厂商价格比较:AWS、阿里云、Azure、Google Cloud、华为云、腾讯云(上篇)

    在这篇报告诞生约一年之后,我们重新对比了六大云厂商最新的价格.跟去年相比,主要有三大变化: 1. 各大云厂商整体情况和价格全面更新为2020年6月版,并和去年同期做了比较,已经下线的资源我们选择了近似 ...

  2. 【2020】六家云厂商价格比较:AWS、阿里云、Azure、Google Cloud、华为云、腾讯云

    [2020]六家云厂商价格比较:AWS.阿里云.Azure.Google Cloud.华为云.腾讯云 https://zhuanlan.zhihu.com/p/148856264 去年8月,我们选择了 ...

  3. 【2020新版】六家云厂商价格比较:AWS、阿里云、Azure、Google Cloud、华为云、腾讯云

    [2020新版]六家云厂商价格比较:AWS.阿里云.Azure.Google Cloud.华为云.腾讯云 去年8月,我们选择了国内外六家云厂商做了份资源价格报告,将近一年过去了,我们上个新. 做事呢, ...

  4. 阿里云、华为云、谷歌云都已入局,盘点13家云计算厂商的RPA

    阿里云.华为云.谷歌云都已入局,盘点13家云计算厂商的RPA 13家云计算厂商进入RPA行业,人人可用的自动化时代正在开启 在RPA行业,云计算厂商RPA的声量并不算大,但它们却是一股后劲十足且不容忽 ...

  5. 阿里华为员工跳槽到微软,被鄙视了:他们工资低,整天996,把气氛搞得很差!...

    点击"技术领导力"关注∆  每天早上8:30推送 作者| Mr.K   编辑| Emma 来源| 技术领导力(ID:jishulingdaoli) 先来看一则报道: 一群从华为和阿 ...

  6. 每日新闻丨美商务部:已允许部分美企向华为出售零部件;中国四家手机厂商瓜分印尼市场...

    趋势洞察 苗圩:5G统一标准来之不易 不该借安全排斥个别企业 工信部部长苗圩21日在世界5G大会上表示,统一的标准是全球移动通信发展的重要成果.3G时代全球有3个标准,4G有两个标准,而5G时代达成了 ...

  7. 最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析

    最新百度 阿里 华为 腾讯 谷歌面试笔试题及解析 8月15日,百度2道面试题: 1.来自<编程之美>的概率题:一个桶里面有白球.黑球各100个,现在按下述规则取球:的 i .每次从通里面拿 ...

  8. 云资源中的低成本战斗机——竞价实例,AWS、阿里云等六家云厂商完全用户使用指南

    https://zhuanlan.zhihu.com/p/128692430 云资源中的低成本战斗机--竞价实例,AWS.阿里云等六家云厂商完全用户使用指南 原创 灵魂工作室 速石科技 2019-10 ...

  9. 每日新闻丨阿里云成为唯一MongoDB服务的云厂商;微软云新服务:可访问量子计算...

    趋势洞察 任正非: 希望加强和美国公司的合作 针对美国制裁华为的意图,任正非表示,由于美国缺少最先进的通讯技术,我们希望加强和美国公司的合作.如果我们能够帮助美国公司在通信上赶上来,有利于平衡世界矛盾 ...

  10. AI一分钟 | 厉害了!英特尔正式发布电动飞行汽车;贝佐斯笑了,多家PC厂商结盟亚马逊Alexa,直怼微软Cortana

    一分钟AI 1. CES 2018 专题:英特尔正式发布电动飞行汽车Volocopter:华硕发布Chromebox 3,采用英特尔8代酷睿处理器:三星宣布2018年智能电视全部搭载智能助手Bixby ...

最新文章

  1. 2022-2028年中国塑料人造革行业市场研究及前瞻分析报告
  2. 进制转换converse
  3. 8-flutter 异步和线程
  4. 分布式概念-分布式事务,并发处理协议
  5. iOS定位服务与地图应用开发:高德地图开发
  6. Google App Engine for Java下的URL编码转换问题
  7. UBUNTU手动安装JDK的详细步骤
  8. c# 建立到数据源的连接 以及获取项目配置文件的属性
  9. Delphi实现类似Android锁屏的密码锁控件
  10. 【机器学习】使用 Python 构建电影推荐系统
  11. 多核电脑的配件(CPU)
  12. kettle连接mysql教程_kettle 连接 mysql8
  13. 架构设计 | 分布式系统调度,Zookeeper集群化管理
  14. Spring Boot Test 进行JPA 测试保存数据到数据库
  15. python数据类型总结
  16. C#动态数组ArrayList介绍
  17. Tricks(二十二) —— zip(python) 的实现及使用
  18. python风格迁移_Python简单实现图像风格迁移
  19. oracle 限制条数的查询
  20. Java笔记——Java 实现金额小写转大写

热门文章

  1. RadioGroup+Fragment+PulltorefreshScrollView+GridView+侧拉菜单+TabLayout+ViewPager
  2. ListView实现物流追踪
  3. 从新品抽奖小程序思考微信工具型小程序的发展
  4. wei gwei ether之间的转换关系
  5. wifi的WPS功能
  6. 香港服务器低价租用内幕
  7. 每天一个php函数之:strtolower() 函数
  8. 工业大数据特征有哪些 大数据工程师来告诉你
  9. 容器技术在云中如何定位
  10. 中国大学mooc java_中国大学mooc2020年Java程序设计答案大全