在 JDK 版本的世界里,從來都是 Oracle 發他的新版本,我們繼續用我們的老版本。三年之前用 JDK 7,后來終於升級到了 JDK 8。自從升級了沒多久,JDK 就開始了半年發一個新版本的節奏,陸續發布了 9 、10、11、12,直到前兩天(2019年9月17日)發布了 JDK13。
2018年12月,由 Snyk 和 The Java Magazine 聯合推出發布的 2018 JVM 生態調查報告 顯示有 70% 的用戶使用 Oracle JDK,21% 的用戶使用 OpenJDK。其中 Java 8 的使用者占到了 79%。
這份報告到現在為止快到一年了,猜測情況應該變化不大。所以說,現在用 Java 8 也不用慌,大部分人也都在用 Java 8。
都已經 JDK 13 了,為什么還有這么多公司使用舊版本。Java 8 已經算好的了,有的公司還在使用 7,更有甚者還在用 6,你說是不是很 6。
之所以會出現這種狀況,是因為升級版本耗時費力,最重要的是有可能影響服務的穩定性,雖然說 Java 是向后兼容的,但是誰知道是不是有坑在里面。在沒有重大安全漏洞或重大性能提升的情況下,大多數公司還是以穩定性為主,既然 Java 8 已經能滿足業務需求了,那就用它好了。
現在又增加了原因,就是從今年 1 月份開始對 Oracle JDK 的商業用途進行收費。
收費是近兩年對 Oracle JDK 的一大改變,還有一個就是發版方式的改變。
收費
從今年1月份開始,Oracle JDK 開始對 Java SE 8 之后的版本開始進行商用收費,確切的說是 8u201/202 之后的版本。如果你用 Java 開發的功能如果是用作商業用途的,如果還不想花錢購買的話,能免費使用的最新版本是 8u201/202。當然如果是個人客戶端或者個人開發者可以免費試用 Oracle JDK 所有的版本。
發版方式
在 JDK 9 發布之前,Oracle 的發版策略是以特性驅動的,只有重大的特性改變才會發布大版本,比如 JDK 7 到 JDK 8,中間會發多個更新版本。而從 JDK 9 開始變為以時間驅動的方式。發布周期為6個月一個大版本,比如 JDK 9 到 JDK 10,3個月一次補丁版,3年一個 LTS(長期支持版本)。
發版時間穩定了,使用者就可以相應的根據發版節奏調整所使用的 Java 版本了。但是付費使用好像又增加了成本,一直免費使用的東西,突然收費了,好像有點接受不了,尤其對於小公司而言。
上面所說的都是 Oracle JDK 。那么如果既想要更新版本又不想花錢怎么辦呢,當然也是有辦法的。可以選擇 Open JDK。
Open JDK 是完全開源免費的,由 Oracle 以及 Redhat 等開源組織維護。Oracle JDK 只是一個 Open JDK 的發行版。他們兩個的關系就好像是原生安卓系統和各個手機廠商定制的操作系統的關系。Oracle JDK 就對應原生安卓系統,比如小米的 MI UI 就對應 Oracle JDK。另外,除了 Oracle JDK,還有其他的 Open JDK 的發行版,比如 AWS 的 Amazon Corretto,阿里巴巴的 Alibaba Dragonwell 等等。
紅帽將接替 Oracle 維護 JDK 的長期支持版,比如 OpenJDK 8 和 OpenJDK 11,並且它和 Oracle JDK 的差別已經非常小了,可以放心使用。
然而,對於新版本的新特性,我也只是看一看,學一學,然后專心的用 Java 8 開發。
不要吝惜你的「推薦」呦
歡迎關注,不定期更新本系列和其他文章
古時的風箏
,進入公眾號可以加入交流群