一大早就接到了Oracle的电话,让我十分懵逼。
“先生您好,从2019年1月开始, 我们对JDK8的支持已经到期, 不再提供免费的updates和security fix , 如果您还需要的话请付费购买。”
“那要是JDK8 有漏洞怎么办?”+
“请您付费购买服务和支持!”
“没有别的办法了?”
“您也可以升级到JDK 9 , 10 ,11, 12 .....”
“怎么会有这么多的版本?”
“我们Oracle 改变了策略,以后每隔三年会推出一个长期支持(LTS)的JDK版本,对于LTS 版本,我们也会支持6个月(updates 和security fix), 超过六个月就需要掏钱购买服务!”
“这太不人道了,你们疯了吗?”
“别着急,先生,OpenJDK 社区每半年就会推出一个Feature Release, 通常是3月或者9月发,这样您每隔半年就会享受到最酷的JDK了, 我给您发个图过去。”
“您能看明白吗?”
“等等,有点晕, 这个JDK8, 11, 17 是长期支持的版本, JDK12,13,14,15,16全是半年一发布的短期版本。还有啊,即使是长期支持版本JDK11和将来的JDK17,你们也只是免费支持6个月啊, 太黑了吧!”
“您这么说就不合适了, 可以通过升级JDK来获得新的更新啊。”
“别扯了,为了几个区区的security fix, 我就要升级整个JDK,在生产环境上,你知道这意味着什么嘛!”
我果断挂了电话,嘴里不断念叨着: Oracle疯了,真疯了。
JDK 一条街
我离开座位, 准备到JDK一条街去逛逛,看看那里有什么好货色,把这个烦人的Oracle给替换掉!
JDK一条街上人来人往,熙熙攘攘,看来和我有同样困惑的人还不少。
首先映入眼帘的是两家金碧辉煌的店铺, 左边是SAPMachine, 右边IBM J9, 我知道这两家财大气粗,但是他们的JDK主要是为自己用的,SAP Machine主要让自己的客户或者合作伙伴使用,支持的还不是自己的ERP软件?
IBM J9 主要支持自己的硬件和操作系统,像什么AIX, zOS等等, 我等互联网小民暂时还用不到。
心里正想着,被一个满脸堆笑的人给拉住了:“先生,您是挑JDK吗? 要不要试试我们亚马逊的JDK ? ”
亚马逊? 大公司啊 ! 我来了兴致,跟着他走进了一个叫做“Corretto”的店铺。
店铺里张贴着大幅海报:“支持Linux , Windows, MacOS !”
嗯, 看起来不错, 我们的开发主要是用Windows, MacOS, 服务器主要是Linux。 生产环境和开发环境可以保持一致。
“遵守Java SE的标准,通过了TCK认证!” 这是有一个巨幅的海报。
我知道Java Technical Compatibility Kit (TCK) 是一个包含十几万个测试用例的测试包,通过了这个测试,才能证明你的JDK实现了Java的各种规范。
不仅如此,这个店里居然还立着一张James Gosling的巨幅画像,不断提示着来访者:Java之父是和我们亚马逊在一起哦。
这个叫做Corretto店铺的店小二说:“我们的JDK 致力于提升JVM的性能和稳定性,在我们亚马逊生产环境上, 有几千台服务器都运行这Corretto JDK ,想必你也知道,亚马逊的服务非常重要,非常稳定。”
“多少钱?” 我有点动心。
“谈钱就太伤感情了,免费,完全免费, 并且免费的长期支持,再强调一次,免费的支持,我们可不像隔壁的Oracle那么鸡贼,光想着收钱。”
“长期支持,到底有多长?”
“我们Amazon致力于提供高性能的,安全的JDK,长期支持,完全免费。” 这个销售业务十分精通, “当然我们也不会无限制的更新下去,但是我们会支持超长的时间,例如Corretto 8 (对应JDK 8) , 我们会支持到2023年6月,隔壁的Oracle 今年已经开始收费了, 你自己感受下。”
“还有每个季度我们都会发布更新,如果有紧急的Fix(比如安全问题), 我们会立刻,马上去修改,去发布, 不用你频繁地升级JDK, 只需要安装一个补丁就好。”
这不正是我想要的吗?!
“想想看,JDK 8 你可以免费用到2023年, 到那个时候,估计你早就升级到下一个版本了。”
“我有问题的话去找谁啊?”
“可以到https://github.com/corretto 上去开iissue啊,您也可以加入我们的AWS Support 计划,那里有专家给你指导,当然你得掏钱。”
“我能立刻替换我的Oracle JDK吗? ”
“当然可以,除非你使用了一些OpenJDK中没有的Feature。 没错,我们的Corretto是基于OpenJDK的。”
我觉得这个Corretto相当不错,可以列入候选名单,但是秉承货比三家的原则,我还是要再看看。
阿里巴巴DragonWell
从亚马逊的店铺出来,斜对面就是阿里巴巴的店铺了,上面写着DragonWell, 我有点吃惊,这阿里巴巴什么时候也出JDK了,这名字怎么这么古怪?
我走了进去,不解地问店小二: “你们的JDK 叫‘龙好’ 吗?”
“龙好?什么龙好?奥,你说的是DragonWell啊, 那是龙井的意思, Well是井,不是好。”
唉,英语不好害死人啊!
店小二不以为意,还是满脸堆笑地给我介绍:“我们的JDK是阿里制作的、长期支持的,基于OpenJDK,完全免费。也通过了Java TCK测试,并且还包含了阿里内部广泛使用的一些特性, 稳定性和性能肯定是一流的。”
那倒是,毕竟经过双十一的严酷考验。 嗯,中国人自己的JDK,是不是要支持一下?
但是我马上看到简陋的宣传单子上写着只支持Linux操作系统,并且现在只有JDK8的版本, 心一下子凉了。和亚马逊比起来有点差距,还得加把劲啊。
临走之前,我还是礼貌地问了一下:“如果我在使用Dragwell的过程中遇到问题怎么办?”
回答不出我的所料: “简单,可以到GitHub去提issue, 我们会关注的。”
我转身离开, 店小二说道:“对了,我们还有微信群,哦不,钉钉群提供技术支持呢, 欢迎您下次再来。”
Azul Zulu
刚走出阿里巴巴的店铺,就被一个人给拉住了:“先生,别听他们瞎BB了, 他们都不专业。”
我十分好奇:“难道亚马逊和阿里巴巴都不专业,就你专业?”
“是啊, 我们Azul 只做Java 和 JDK, 别的啥都不干。不像他们,JDK只是业务的一部分。”
这倒激起了我的好奇心,还有专门做JDK 的公司 ! 我跟着他走进了店铺。
“您先看看我们这个Zing虚拟机, 性能极其稳定,可以快速预热,我们独有的,强悍的C4算法可以让垃圾回收时几乎没有停顿,并可以支持高达8T的Heap。”
“这么牛,肯定是收费的吧。”
他笑着说:“好东西肯定是要掏钱买的嘛,中国有个叫做饿了么的公司就在使用Zing,您也可以考虑一下。”
“有免费的吗?”
“我们还有我们还有Zulu 企业版JDK供您选择。 对了,连微软的微软的云服务Azure都使用我们的Zulu JDK呢!”
看来这个公司还真是有两把刷子。
“我猜这个企业版的JDK也是基于OpenJDK构建的,然后服务和支持是收费的,对吧?”
“是的是的,您真是想全免费的话,还有Zulu 社区版。 我们每个季度都会提供update和security fix,不会像Oracle那样收费。”
鉴于这家公司在虚拟机领域的强悍实力,我决定把它列入我的清单,再仔细考察下。
尾声
这次出来逛JDK一条街,收获之多出乎意料,我整理了一下,给领导电话汇报:
“领导咱们考虑下OpenJDK吧, 现在大家都在用OpenJDK生成自己的Build,添加自己的特性,完全免费,一切都在掌控中。”
“自己Build ?别做梦了,咱们没那本事, 别在街上墨迹了,赶紧回来,我们买了WebLogic,免费赠送Oracle JDK的后续更新和技术支持!”
【本文为51CTO专栏作者“刘欣”的原创稿件,转载请通过作者微信公众号coderising获取授权】