天天看點

JDK 11 是釋出了,但收費嗎?

自 9 月 26 日,Oracle JDK 11 正式版本釋出以來,一直被大家所看好,因為它是繼 6、7、8之後,第一個長期支援的版本「見下圖」,而 9 、10 估計多半會夭折了。。。

JDK 11 是釋出了,但收費嗎?

對于這次的釋出,我主要關注的就兩個問題:

1、穩定嗎?

2、收費嗎?

後面的文字主要圍繞這兩個話題展開的。

一、穩定嗎?

其實,對于企業使用者來說,穩定可靠才是最重要的。那麼剛剛釋出的 JDK 11 到底穩定性如何呢?

如果你是付費使用者,其實不用擔心這個問題。

對于大多數的非付費使用者來說,就得要考慮了,隻有考慮清楚風險後,才敢遷移。

首先,這次有 OpenJDK 社群的站台「長期支援」,Oracle 提供了免費的 OpenJDK build,并承諾「維護 6 個月」。

再者,Andrew Haley 等社群專家也已經明確定證,會組建并上司「JDK-11-updates」項目,而且還做了相應的保證「見下圖」。

JDK 11 是釋出了,但收費嗎?

就我看來,如果想遷移到 JDK 11 的企業,毫無疑問,前期肯定還是有試錯成本的。是以,建議在新的項目中引入 JDK 11,不要亂動穩定的老業務。。。

二、收費嗎?

其實關于 Oracle JDK 收費的問題,我記得 16 年,大家都在知乎上面讨論過,當時 R 大給出了完美的回答。

Oracle提供的 Java SE Advanced 系列的産品是收費的,隻有在「通用計算」使用範圍内是完全免費的。

這裡的「通用計算」如何界定?比如,如果你使用了 -XX:+UnlockCommercialVMOptions 的功能,那麼就得要收費;或者你将 Oracle Java SE 系列産品在「特殊嵌入式計算系統」中使用也會收費。

時隔兩年,JDK 又将是如何收費的呢?

我們先來看一張圖。

JDK 11 是釋出了,但收費嗎?

從上圖中,我們可以知道: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,見如下圖綠色的部分為免費支援版本。

JDK 11 是釋出了,但收費嗎?

在此,不得不說 Oracle 太雞賊了。。。

那問題來了,還有那些可建構 JDK 的産品可供選擇呢?

AdoptOpenJDK

官網位址:adoptopenjdk.net

它同樣支援 GPL 協定且免費 ,與 Oracle OpenJDK 不同的是,它将在 JDK 11 等主要版本中持續更長的時間。第一次了解它是在 reddit 的一個話題中「見下圖」。

JDK 11 是釋出了,但收費嗎?

最近,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 建構。

JDK 11 是釋出了,但收費嗎?

IBM

IBM 為 Java 8 及更早版本提供并支援 JDK。他們還使用 OpenJ9 為 AdoptOpenJDK 建構提供商業付費支援。

JDK 11 是釋出了,但收費嗎?

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面試那些事兒

本文來自雲栖社群合作夥伴“ 

”,了解相關資訊可以關注“

”。