我逛了一下JDK一條街,發(fā)現(xiàn)了不少好東西!
一大早就接到了Oracle的電話,讓我十分懵逼。
“先生您好,從2019年1月開(kāi)始, 我們對(duì)JDK8的支持已經(jīng)到期, 不再提供免費(fèi)的updates和security fix , 如果您還需要的話請(qǐng)付費(fèi)購(gòu)買。”
“那要是JDK8 有漏洞怎么辦?”+
“請(qǐng)您付費(fèi)購(gòu)買服務(wù)和支持!”
“沒(méi)有別的辦法了?”
“您也可以升級(jí)到JDK 9 , 10 ,11, 12 .....”
“怎么會(huì)有這么多的版本?”
“我們Oracle 改變了策略,以后每隔三年會(huì)推出一個(gè)長(zhǎng)期支持(LTS)的JDK版本,對(duì)于LTS 版本,我們也會(huì)支持6個(gè)月(updates 和security fix), 超過(guò)六個(gè)月就需要掏錢購(gòu)買服務(wù)!”
“這太不人道了,你們瘋了嗎?”
“別著急,先生,OpenJDK 社區(qū)每半年就會(huì)推出一個(gè)Feature Release, 通常是3月或者9月發(fā),這樣您每隔半年就會(huì)享受到最酷的JDK了, 我給您發(fā)個(gè)圖過(guò)去。”
“您能看明白嗎?”
“等等,有點(diǎn)暈, 這個(gè)JDK8, 11, 17 是長(zhǎng)期支持的版本, JDK12,13,14,15,16全是半年一發(fā)布的短期版本。還有啊,即使是長(zhǎng)期支持版本JDK11和將來(lái)的JDK17,你們也只是免費(fèi)支持6個(gè)月啊, 太黑了吧!”
“您這么說(shuō)就不合適了, 可以通過(guò)升級(jí)JDK來(lái)獲得新的更新啊。”
“別扯了,為了幾個(gè)區(qū)區(qū)的security fix, 我就要升級(jí)整個(gè)JDK,在生產(chǎn)環(huán)境上,你知道這意味著什么嘛!”
我果斷掛了電話,嘴里不斷念叨著: Oracle瘋了,真瘋了。
JDK 一條街
我離開(kāi)座位, 準(zhǔn)備到JDK一條街去逛逛,看看那里有什么好貨色,把這個(gè)煩人的Oracle給替換掉!
JDK一條街上人來(lái)人往,熙熙攘攘,看來(lái)和我有同樣困惑的人還不少。
首先映入眼簾的是兩家金碧輝煌的店鋪, 左邊是SAPMachine, 右邊IBM J9, 我知道這兩家財(cái)大氣粗,但是他們的JDK主要是為自己用的,SAP Machine主要讓自己的客戶或者合作伙伴使用,支持的還不是自己的ERP軟件?
IBM J9 主要支持自己的硬件和操作系統(tǒng),像什么AIX, zOS等等, 我等互聯(lián)網(wǎng)小民暫時(shí)還用不到。
心里正想著,被一個(gè)滿臉堆笑的人給拉住了:“先生,您是挑JDK嗎? 要不要試試我們亞馬遜的JDK ? ”
亞馬遜? 大公司啊 ! 我來(lái)了興致,跟著他走進(jìn)了一個(gè)叫做“Corretto”的店鋪。
店鋪里張貼著大幅海報(bào):“支持Linux , Windows, MacOS !”
嗯, 看起來(lái)不錯(cuò), 我們的開(kāi)發(fā)主要是用Windows, MacOS, 服務(wù)器主要是Linux。 生產(chǎn)環(huán)境和開(kāi)發(fā)環(huán)境可以保持一致。
“遵守Java SE的標(biāo)準(zhǔn),通過(guò)了TCK認(rèn)證!” 這是有一個(gè)巨幅的海報(bào)。
我知道Java Technical Compatibility Kit (TCK) 是一個(gè)包含十幾萬(wàn)個(gè)測(cè)試用例的測(cè)試包,通過(guò)了這個(gè)測(cè)試,才能證明你的JDK實(shí)現(xiàn)了Java的各種規(guī)范。
不僅如此,這個(gè)店里居然還立著一張James Gosling的巨幅畫(huà)像,不斷提示著來(lái)訪者:Java之父是和我們亞馬遜在一起哦。
這個(gè)叫做Corretto店鋪的店小二說(shuō):“我們的JDK 致力于提升JVM的性能和穩(wěn)定性,在我們亞馬遜生產(chǎn)環(huán)境上, 有幾千臺(tái)服務(wù)器都運(yùn)行這Corretto JDK ,想必你也知道,亞馬遜的服務(wù)非常重要,非常穩(wěn)定。”
“多少錢?” 我有點(diǎn)動(dòng)心。
“談錢就太傷感情了,免費(fèi),完全免費(fèi), 并且免費(fèi)的長(zhǎng)期支持,再?gòu)?qiáng)調(diào)一次,免費(fèi)的支持,我們可不像隔壁的Oracle那么雞賊,光想著收錢。”
“長(zhǎng)期支持,到底有多長(zhǎng)?”
“我們Amazon致力于提供高性能的,安全的JDK,長(zhǎng)期支持,完全免費(fèi)。” 這個(gè)銷售業(yè)務(wù)十分精通, “當(dāng)然我們也不會(huì)無(wú)限制的更新下去,但是我們會(huì)支持超長(zhǎng)的時(shí)間,例如Corretto 8 (對(duì)應(yīng)JDK 8) , 我們會(huì)支持到2023年6月,隔壁的Oracle 今年已經(jīng)開(kāi)始收費(fèi)了, 你自己感受下。”
“還有每個(gè)季度我們都會(huì)發(fā)布更新,如果有緊急的Fix(比如安全問(wèn)題), 我們會(huì)立刻,馬上去修改,去發(fā)布, 不用你頻繁地升級(jí)JDK, 只需要安裝一個(gè)補(bǔ)丁就好。”
這不正是我想要的嗎?!
“想想看,JDK 8 你可以免費(fèi)用到2023年, 到那個(gè)時(shí)候,估計(jì)你早就升級(jí)到下一個(gè)版本了。”
“我有問(wèn)題的話去找誰(shuí)啊?”
“可以到https://github.com/corretto 上去開(kāi)iissue啊,您也可以加入我們的AWS Support 計(jì)劃,那里有專家給你指導(dǎo),當(dāng)然你得掏錢。”
“我能立刻替換我的Oracle JDK嗎? ”
“當(dāng)然可以,除非你使用了一些OpenJDK中沒(méi)有的Feature。 沒(méi)錯(cuò),我們的Corretto是基于OpenJDK的。”
我覺(jué)得這個(gè)Corretto相當(dāng)不錯(cuò),可以列入候選名單,但是秉承貨比三家的原則,我還是要再看看。
阿里巴巴DragonWell
從亞馬遜的店鋪出來(lái),斜對(duì)面就是阿里巴巴的店鋪了,上面寫(xiě)著DragonWell, 我有點(diǎn)吃驚,這阿里巴巴什么時(shí)候也出JDK了,這名字怎么這么古怪?
我走了進(jìn)去,不解地問(wèn)店小二: “你們的JDK 叫‘龍好’ 嗎?”
“龍好?什么龍好?奧,你說(shuō)的是DragonWell啊, 那是龍井的意思, Well是井,不是好。”
唉,英語(yǔ)不好害死人啊!
店小二不以為意,還是滿臉堆笑地給我介紹:“我們的JDK是阿里制作的、長(zhǎng)期支持的,基于OpenJDK,完全免費(fèi)。也通過(guò)了Java TCK測(cè)試,并且還包含了阿里內(nèi)部廣泛使用的一些特性, 穩(wěn)定性和性能肯定是一流的。”
那倒是,畢竟經(jīng)過(guò)雙十一的嚴(yán)酷考驗(yàn)。 嗯,中國(guó)人自己的JDK,是不是要支持一下?
但是我馬上看到簡(jiǎn)陋的宣傳單子上寫(xiě)著只支持Linux操作系統(tǒng),并且現(xiàn)在只有JDK8的版本, 心一下子涼了。和亞馬遜比起來(lái)有點(diǎn)差距,還得加把勁啊。
臨走之前,我還是禮貌地問(wèn)了一下:“如果我在使用Dragwell的過(guò)程中遇到問(wèn)題怎么辦?”
回答不出我的所料: “簡(jiǎn)單,可以到GitHub去提issue, 我們會(huì)關(guān)注的。”
我轉(zhuǎn)身離開(kāi), 店小二說(shuō)道:“對(duì)了,我們還有微信群,哦不,釘釘群提供技術(shù)支持呢, 歡迎您下次再來(lái)。”
Azul Zulu
剛走出阿里巴巴的店鋪,就被一個(gè)人給拉住了:“先生,別聽(tīng)他們瞎BB了, 他們都不專業(yè)。”
我十分好奇:“難道亞馬遜和阿里巴巴都不專業(yè),就你專業(yè)?”
“是啊, 我們Azul 只做Java 和 JDK, 別的啥都不干。不像他們,JDK只是業(yè)務(wù)的一部分。”
這倒激起了我的好奇心,還有專門做JDK 的公司 ! 我跟著他走進(jìn)了店鋪。
“您先看看我們這個(gè)Zing虛擬機(jī), 性能極其穩(wěn)定,可以快速預(yù)熱,我們獨(dú)有的,強(qiáng)悍的C4算法可以讓垃圾回收時(shí)幾乎沒(méi)有停頓,并可以支持高達(dá)8T的Heap。”
“這么牛,肯定是收費(fèi)的吧。”
他笑著說(shuō):“好東西肯定是要掏錢買的嘛,中國(guó)有個(gè)叫做餓了么的公司就在使用Zing,您也可以考慮一下。”
“有免費(fèi)的嗎?”
“我們還有我們還有Zulu 企業(yè)版JDK供您選擇。 對(duì)了,連微軟的微軟的云服務(wù)Azure都使用我們的Zulu JDK呢!”
看來(lái)這個(gè)公司還真是有兩把刷子。
“我猜這個(gè)企業(yè)版的JDK也是基于OpenJDK構(gòu)建的,然后服務(wù)和支持是收費(fèi)的,對(duì)吧?”
“是的是的,您真是想全免費(fèi)的話,還有Zulu 社區(qū)版。 我們每個(gè)季度都會(huì)提供update和security fix,不會(huì)像Oracle那樣收費(fèi)。”
鑒于這家公司在虛擬機(jī)領(lǐng)域的強(qiáng)悍實(shí)力,我決定把它列入我的清單,再仔細(xì)考察下。
尾聲
這次出來(lái)逛JDK一條街,收獲之多出乎意料,我整理了一下,給領(lǐng)導(dǎo)電話匯報(bào):
“領(lǐng)導(dǎo)咱們考慮下OpenJDK吧, 現(xiàn)在大家都在用OpenJDK生成自己的Build,添加自己的特性,完全免費(fèi),一切都在掌控中。”
“自己Build ?別做夢(mèng)了,咱們沒(méi)那本事, 別在街上墨跡了,趕緊回來(lái),我們買了WebLogic,免費(fèi)贈(zèng)送Oracle JDK的后續(xù)更新和技術(shù)支持!”
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)coderising獲取授權(quán)】