JDK 11 是发布了,但收费吗?
自 9 月 26 日,Oracle JDK 11 正式版本发布以来,一直被大家所看好,因为它是继 6、7、8之后,第一个长期支持的版本「见下图」,而 9 、10 估计多半会夭折了。。。
对于这次的发布,我主要关注的就两个问题:
1、稳定吗?
2、收费吗?
后面的文字主要围绕这两个话题展开的。
一、稳定吗?
其实,对于企业用户来说,稳定可靠才是最重要的。那么刚刚发布的 JDK 11 到底稳定性如何呢?
如果你是付费用户,其实不用担心这个问题。
对于大多数的非付费用户来说,就得要考虑了,只有考虑清楚风险后,才敢迁移。
首先,这次有 OpenJDK 社区的站台「长期支持」,Oracle 提供了免费的 OpenJDK build,并承诺「维护 6 个月」。
再者,Andrew Haley 等社区专家也已经明确保证,会组建并领导「JDK-11-updates」项目,而且还做了相应的保证「见下图」。
就我看来,如果想迁移到 JDK 11 的企业,毫无疑问,前期肯定还是有试错成本的。因此,建议在新的项目中引入 JDK 11,不要乱动稳定的老业务。。。
二、收费吗?
其实关于 Oracle JDK 收费的问题,我记得 16 年,大家都在知乎上面讨论过,当时 R 大给出了完美的回答。
Oracle提供的 Java SE Advanced 系列的产品是收费的,只有在「通用计算」使用范围内是完全免费的。
这里的「通用计算」如何界定?比如,如果你使用了 -XX:+UnlockCommercialVMOptions 的功能,那么就得要收费;或者你将 Oracle Java SE 系列产品在「特殊嵌入式计算系统」中使用也会收费。
时隔两年,JDK 又将是如何收费的呢?
我们先来看一张图。
从上图中,我们可以知道:Oracle 将继续提供JDK 8 免费的公共更新和自动更新,支持个人用户到 2020 年 12 月底,支持商业用户到 2019 年 1 月;换句话说如果想 Oracle 后续继续为你提供 JDK 8 的支持,那么则需要付费。
那么,最新的 JDK 11 又是如何收费的呢?
Oracle 将发布两个不同版本,分别为 Oracle JDK 和 OpenJDK 「除了所附带的许可文件不一样,刚发布的版本几乎完全相同」。
对于 Oracle JDK 来说,支持 BCL 协议,开发人员可以免费使用,但不能用于生产,如果全额付费的话,可支持到 2026 年 9 月。
对于 OpenJDK 来说,支持 GPL 协议「一般只支持到发布的前 6 个月内」,可以用于公司使用,因此,对于JDK 11 来说,应该有JDK 11.0.0,然后是两个安全补丁 11.0.1 和 11.0.2 。如果你要继续使用 Oracle 的 OpenJDK 构建和安全补丁,那么您将必须在发布后的一个月内迁移到 JDK 12,见如下图绿色的部分为免费支持版本。
在此,不得不说 Oracle 太鸡贼了。。。
那问题来了,还有那些可构建 JDK 的产品可供选择呢?
AdoptOpenJDK
官网地址:adoptopenjdk.net
它同样支持 GPL 协议且免费 ,与 Oracle OpenJDK 不同的是,它将在 JDK 11 等主要版本中持续更长的时间。第一次了解它是在 reddit 的一个话题中「见下图」。
最近,AdoptOpenJDK 开发团队表示 JDK 11 版本将在下一个主要版本发布一年后继续使用4年,并且他们将提供持续构建 OpenJDK 的源存储库中创建和发布的安全修补程序。
这里,还需要提一下,AdoptOpenJDK 除了标准的 OpenJDK 构建之外,还可以使用 OpenJ9 进行构建。 OpenJ9 最初是 IBM 的 JVM,但 OpenJ9 现在是 Eclipse的开源。
Red Hat OpenJDK
Red Hat 通过 Red Hat Enterprise Linux「RHEL」提供 OpenJDK 的构建,这是一个付费的商业产品。他们向 OpenJDK 提供非常多的安全补丁,Red Hat 已经运行了 Java 6 和 7 的安全更新项目。Red Hat 构建更好地集成到操作系统中,因此它不是纯粹的 OpenJDK 构建。
IBM
IBM 为 Java 8 及更早版本提供并支持 JDK。他们还使用 OpenJ9 为 AdoptOpenJDK 构建提供商业付费支持。
Azul Zulu
官网地址:zulu.org
这款产品是通过 R 大了解的,它的核心部分就是原汁原味的 OpenJDK ,没有任何额外的改动—— Azul 有时候也会对 OpenJDK 做 bug fix,但这些都是通过提交回到 OpenJDK 去然后再进入到 Zulu Java SE 产品中的。
只有在希望购买 Azul 的技术支持的时候,Zulu 的商业技术支持部分才是收费的;不购买收费的技术支持的话,Azul 也有为 Zulu 提供免费的社区技术支持。
SAP
官网地址:sap.github.io/SapMachine
SAP 根据 GPL+CE 协议为 Jdk 10 及更高版本提供 JDK。他们还有一个商业的闭源 JVM,目前,没有找到任何有关支持它的信息。
这里为各位读者列举了不少可供参考的构建方案,有收费的,有免费的,具体怎么选择,还是看个人吧。
反正,我一直认为免费的反而最贵。。。
如果喜欢我的文字,记得转发或者点赞。
参考
https://www.oracle.com/technetwork/java/javase/eol-135779.html
http://mail.openjdk.java.net/pipermail/jdk-dev/2018-August/001830.html
https://blogs.oracle.com/java-platform-group/oracle-jdk-releases-for-java-11-and-later
https://www.zhihu.com/question/53791269
https://www.reddit.com/r/java/comments/9hd97k/openjdk_vs_adoptopenjdk
https://blog.joda.org/2018/09/time-to-look-beyond-oracles-jdk.html
https://access.redhat.com/articles/1299013
https://developer.ibm.com/javasdk/support/lifecycle
原文发布时间为:2018-09-28
本文作者:
本文来自云栖社区合作伙伴“ ”,了解相关信息可以关注“Java面试那些事儿”。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
做后台是选择Java 、Go ,还是 PHP?
我们都知道,大部分有过4年以上的工作经验的前端最起码接触过后台的,不管是java,php,python或者说.net,很多人就会去扩展第二第三语言了,你可以去问问他们,基本都有过了解,但这个了解不是完全会去写,而且了解一个过程。 但是对于所有学前端的小伙伴,我建议的是一定要学习和了解一门后台语言。 可以选择Go 对于一个研发团队来说,项目成败的关键因素是:成本、质量和时间! 1、人力资源的成本人力资源是研发团队最重要的资源,也是唯一的资源。其成本不仅仅是团队要支付的薪资代价。也包括获得资源的难易程度,例如招聘和培训的速度。以及维持资源,也就是保持员工满意度或者说士气的代价,也就是管理成本。(上述成本不仅指钱,时间也是非常昂贵的成本) Golang有一系列特点,使它既容易上手,又易于维护。Golang可以让初阶和中阶工程师,经过少许培训,就写出相当不错的代码。直接点说,一票1-2年经验少许灵性的年轻工程师转Golang,只要少许指导,很快就可以写出高并发高负载能力生产级别的代码,而且质量相当有保证。而同样的工程,如果用C++或java等语言,则需要至少3-5年经验的工程师来完成,同时质量...
- 下一篇
异步9月新书重磅出炉,送出一本你爱的
每个月小编都会带来一波新书福利,送出一本你最爱的异步新书。9月的新书本次带来14本,涉及到的领域分别是敏捷开发、机器学习、编程语言、Linux、Python等,看是否有你喜爱的图书? 《深入浅出数据科学》 [美] 斯楠·奥兹德米尔(Sinan Ozdemir)著 本书可以帮助读者把数学、编程和商业分析联系起来。通过学习这本书,读者有信心探究和解答复杂的数据科学问题,从抽象的原始的统计,发掘出切实可行的观点和想法。本书适合缺乏数学知识的编程人员,或者是拥有数学技能、想投身数据科学领域的人士阅读使用。 《Python数据可视化编程实战(第2版)》 [爱尔兰] 伊戈尔·米洛瓦诺维奇著 本书是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过70余种方法创建美观的数据可视化效果。 全书共9章,分别介绍了准备工作环境、了解数据、绘制并定制化图表、学习更多图表和定制化、创建3D可视化图表、用图像和地图绘制图表、使用正确的图表理解数据、更多的matplotlib知识以及使用Plot.ly进行云端可视化。 《庖丁解牛Linux内核分析》 孟宁 楼贾鹏 刘宇...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Mario游戏-低调大师作品
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS关闭SELinux安全模块