從Oracle JDK遷移到Open JDK
讓我們首先討論遷移的必要性。根據Oracle在2018年釋出的宣告,從2019年1月起,企業必須購買商業許可證(即Oracle許可證)才能獲得軟體升級。 這包括維護Oracle Java,更新到最新的補丁級別以及支付會員費。您可以瞭解一下價格:每個伺服器核心都需要許可,每個核心每月需支付25美元。
此外,即使叢集中只有一個Java伺服器,如果它是虛擬化的,許可證價格也將適用於伺服器的所有“核心”。
Oracle JDK和Open JDK
先決條件
Oracle對高於Oracle Java SE 8 patch 211和JDK 11的版本都收取會員費用,從安全漏洞的角度來看,將版本保留在較舊的、不受支援的補丁級別是不理想的。因此,我們必須確定為了執行伺服器上的任何應用程式是否真的需要Oracle Java SE或JDK安裝。
對於您擁有的每個伺服器,為每個伺服器選擇相關選項。
如果不需要Oracle Java,請解除安裝它。
如果滿足您的需求,請選擇再次使用開源版本。
Oracle JDK的現有實現
讓我們首先回顧一下Oracle支援的最新非收費Java版本Java 1.8.0.202(64位)的要點。
Open JDK和Oracle JDK最大的區別在於許可。Open JDK是完全開源的Java,具有GNU通用公共許可證。Oracle JDK根據Oracle二進位制程式碼許可協議需要商業許可證。
自2019年1月起,想要獲得軟體更新的組織必須購買商業許可證(來自Oracle)。
過去,Oracle JDK的效能優於Open JDK。然而,Open JDK的效能正在提高。而且Open JDK社群的貢獻經常超過Oracle JDK。
這實際上歸結為支援,因為Open JDK與Oracle JDK共享99.9%的程式碼(取決於您從哪個供應商獲得它)。
Open JDK生命週期日期和RHEL版本
Open JDK版本的支援如下:
Open JDK 6 (1.6) 5.3 6.0 7.0 N/A 2016年12月
Open JDK 7 (1.7) 5.9 6.3 7.0 N/A 2020年6月
Open JDK 8 (1.8) N/A 6.6 7.1 8.0 2026年5月
Open JDK 11 N/A N/A 7.6 8.0 2024年10月
對於在RHEL和Windows上部署Open JDK,服務級別協議 (SLA) 和覆蓋範圍 (SoC) 分別在生產支援覆蓋範圍和生產支援服務條款中定義。
釋出計劃
Oracle每三年釋出一次,而Open JDK每六個月釋出一次。
許可證
Open JDK根據GNU通用公共許可證(GNU GPL)版本2(帶有連結例外)許可,這與Oracle JDK的Oracle二進位制程式碼許可協議形成對比。
效能
由於Oracle JDK的構建過程基於Open JDK的構建過程,因此兩者之間沒有重大的技術差異。Oracle在響應速度和JVM效能方面表現出更優越的效能,因為它非常重視其商業客戶,因此更注重穩定性。另一方面,Open JDK將更頻繁地提供更新。因此,我們可能會遇到不穩定性問題。
特性
在比較特性和設定時,我們可以看到Open JDK具有字型渲染特性,而Oracle產品具有Flight Recorded、Java Mission Control和應用程式類資料共享功能。此外,Oracle提供更優越的渲染和額外的垃圾回收選項。
開發和普及
與由Oracle、Open JDK和Java社群共同開發的Open JDK不同,Oracle JDK完全由Oracle公司開發。但像Red Hat、Azul Systems、IBM、Apple Inc.和SAP AG這樣享有盛譽的公司也積極參與其發展。
成本效益分析
維護Oracle Java,更新到最新的補丁級別,並支付會員費。您可以瞭解一下價格:每個伺服器核心都需要許可,每個核心每月需支付25美元。此外,即使叢集中只有一個Java伺服器,如果它是虛擬化的,許可證價格也將適用於伺服器的所有核心。
Oracle JDK和Open JDK的比較
特性 |
Oracle JDK |
Open JDK |
|---|---|---|
長期支援選項 |
Java 8 直到 2022 年(主要支援)和 2025 年 3 月(擴充套件支援) Java 11 直到 2023 年 9 月(主要支援)和 2026 年 9 月(擴充套件支援) |
每個版本的月度支援週期,如果您想使用受支援的Java版本,則必須更新JDK版本 |
TCK相容性 |
相容 |
相容 |
免費/商業基礎 |
需要購買許可證。許可證數量取決於使用Java的處理器、核心和使用者數量。 |
JDK是免費的。GNU通用公共許可證V2,帶有類路徑例外 (GPLv2+CPE) |
支援 |
Oracle |
社群 |
成本 |
每年40,500美元 |
免費 |
結論
經過仔細研究,很明顯,在Open JDK和Oracle JDK的爭論中,Open JDK佔據了相當大的優勢。由於Open JDK是一個開源平臺,因此鼓勵Java開發人員為進一步發展該平臺做出貢獻。最終,我們將見證許多優秀的Java開發人員(他們使用Open JDK並且以前是Oracle JDK的積極貢獻者)所做的豐富創造性工作和成果。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP