想免费继续使用JDK吗?从java11以后别从Oracle下载了

Java生态系统一直以来是建立在一个高质量的免费(零成本)JDK之上的,它可以从甲骨文(Oracle)和以前的Sun获得。 今天的情况和以前一样。

Java现在每六个月发布一次版本,这个版本是指提供带有安全补丁和重要bug修复的更新版本。到目前为止,包括Java 8在内,已经提供了多年的免费支持,当使用Java 9以及遭遇六个月的发布周期时,这种免费的支持现在被控制得更严格了。

事实上,从Java 11开始,甲骨文将不会为Java提供免费的长期支持(Lts)。

下面是各个JAVA版本发布日期和免费结束日期。

[ code]

版本 发布日期 甲骨文免费支持结束

Java 8 2014年3月 2019年1月(商业用途)

Java 9 2017年9月 2018年3月

Java 10 2018年3月 2018年9月

Java 11 2018年9月 2019年3月(可能延长)

Java 12 2019年3月 2019年9月

[/code]

理由很简单,甲骨文希望将精力集中在推动Java向前发展上,其成本是由客户直接支付的长期支持费用(而不是免费赠送),要做到这一点,他们需要开发人员不断升级他们的Java版本,每六个月移动一次版本(并在两者之间获取补丁版本)。

当然,对于大多数开发者来说,这种快速升级是不可行的,但是Java现在已经被开源为OpenJDK,这意味着Oracle的免费结束支持日期并不是令人担心的日期。

OpenJDK

需要注意的一点是,世界上大多数jdk构建版本都是基于开放源代码的OpenJDK项目,Oracle JDK只是基于OpenJDK代码库的许多构建版本之一,虽然以前Oracle在JDK中有额外的额外功能,但是Java 11已经不再是这种情况了。

许多其他供应商也提供基于OpenJDK代码的构建版本,这些版本可能具有额外的品牌和/或额外的非核心功能, 这些供应商中的大多数还会对OpenJDK项目做出贡献,包括安全补丁。

关键是,你使用的JDK应该是主动做出的选择,还是被动地接受 ?你能多快得到安全补丁?会支持多久?是否需要向供应商施加合同压力以帮助解决任何问题?

获得JDK的方法主要有两种, 第一种是操作系统中的更新机制(例如*nix), 第二种方法是访问URL并下载二进制文件。

为了进一步研究这一点,让我们分别看一下Java 8和Java 11。

停留在Java 8上

如果您想在2019年1月之后继续使用Java 8,下面是我所看到的选择:

1)不关心安全。

这是完全有可能永远停留在最后的免费发行版, 当黑客摧毁你的公司 不要抱怨 。

2)依赖操作系统更新。

在*nix平台上,您很可能通过操作系统获得JDK,JDK的更新是通过操作系统供应商交付的。 这是RedHat参与的关键-他们承诺 在RedHatEnterpriseLinux中Java 8更新直到2023年6月-但是他们也有一个“上游优先”策略,这意味着他们更愿意将补丁推回“上游”OpenJDK项目。 您是否获得到JDK的安全修补程序将取决于您的操作系统供应商,以及是否需要为这些更新支付费用。

3)支付服务费。

一些公司通过收费提供对Java的持续支持,可以访问安全补丁流并使用某些保证更新发布版本(而不是志愿者主导的方法)。 如果您有现金,那么支付Java可能是公平和合理的?

4)在商业环境下使用非商业架构。

甲骨文提供构建Java 8的非商业用途,直到2019年12月,所以你可以一直使用到那个日期为止,之后你想让甲骨文的软件授权团队追着你吗?

5)自己构建OpenJDK。

安全修补程序流通过跟踪GPL许可下的公共Mercurial存储库的提交,完全有可能自己构建OpenJDK。 对于大多数公司来说, 这可能是一个非常现实的选择。

6)使用AdoptOpenJDK的构建。

社区团队AdoptOpenJDK在过去的几年里,他们一直在忙着创建一个构建版本和测试平台。 因此,他们现在能够获取安全补丁的流*并将它们转换成发布版本,就像你从商业产品中获得的一样。 他们还在运行Java TCK(测试兼容性工具包),以允许这些构建被完全认证为Java SE。 他们的计划是在Java 8构建之前生产Java 8版本,直到2022年9月在Java 17发布一年后结束,这是一个社区构建农场项目, 但对于大多数不想付费使用Java 8的用户来说,这可能是最好的选择。

请注意,Azul还提供免费的OpenJDK版本构建zulu.org.

*最后两个选项假设,一旦Oracle停止,一个小组实际上会向前迈进,接管“JDK 8 Updates”OpenJDK项目, 确切的项目细节尚未确定时,IBM声明表明了对该方法的真正支持如下:

认识到发布周期的变化对Java开发人员的影响,IBM将与OpenJDK社区的其他成员合作,继续更新OpenJDK Java 8流,并使用安全补丁和关键的bug修复。我们打算在4年内保持当前LTS版本的安全性和高质量。这个时间尺度缩小了LTS版本之间的差距,为迁移提供了一年的时间。IBM还与许多合作伙伴和Java领导者一起投资于一个开放的构建和测试项目(AdoptOpenJDK.net),以便在OpenJDK和Eclipse OpenJ 9的常用平台上提供社区二进制文件。这些社区二进制文件经过TCK(Java SE规范)的遵从性测试,可供开发人员在生产中下载和使用。

考虑到他们2023年6月的支持日期和“上游第一”政策,也很难看到红帽没有对这一努力做出贡献。

想要学习交流的猿友们可以加群点击链接加入群聊【Java进阶高级架构群】:https://jq.qq.com/?_wv=1027&k=5pWdOCL

停留在Java 9或Java 10上?

还是不要吧

没有人会为Java 9或Java 10提供构建或支持,无论如何,我认为没有理由不升级到Java 11。

停留在Java 11上?

这是一个美好的新世界,并不是百分之百清楚事情会发生的样子。

首先,尚不清楚是否会有免费下载的Oracle JDK。

但在现实中,甲骨文JDK是否免费下载并不重要。 这是因为在Java 11中,开发人员可以将Oracle JDK和OpenJDK视为等价的, 认为OpenJDK构建版本是次要的还是次要的不再是合适或正确的。 事实上,现在最重要的构建版本是OpenJDK。

更确切地说,在发布日期之前,Java 11开发人员应该考虑使用jdk.java.net若要获得二进制下载,请不要在Oracle.com.

那么,Oracle将为Java 11提供安全补丁多长时间?

同样,这方面的答案并非百分之百清楚。

总结

所有的部分都已经就绪,Java 11可以作为一个长期的支持版本来维护,但是,与Java 6、7和8不同的是,甲骨文将不会领导长期的支持工作。 很有可能红帽将接管这项任务-他们公开表示愿意。

在Java 11生命的头6个月,甲骨文将提供gpl许可的免费零成本下载jdk.java.net有安全补丁。

为了在头六个月后获得GPL许可的免费零成本更新版本,您可能需要从不同的URL和不同的构建团队获得它们。AdoptOpenJDK构建场是寻找那些建筑的地方,但是zulu.org是另一种可能性。

欢迎工作一到八年的Java工程师朋友们加入Java工程师学习交流群:795632998

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值