Oracle與OpenJDK之間的區別

vs.png

簡介

在本文中,咱們將探討Oracle Java Development KitOpenJDK之間的差別並進行比較。html

Oracle JDK

Oracle JDK由Oracle公司開發,該公司是Sun許可證,基於Java標準版規範實現。它以二進制產品的形式發佈。它支持多種操做系統,如Windows,Linux,Solaris,MacOS等。它支持不一樣的平臺,如Intel 32位和64位架構,ARM架構和SPARC。它徹底基於Java編程語言。以後,該許可證宣佈將根據GPL(通用公共許可證)許可證發佈。Oracle JDK包含許多組件做爲庫形式的編程工具集合。java

咱們來看看Java SE的歷史:編程

  • JDK Beta - 1995
  • JDK 1.0 - 1996年1月
  • JDK 1.1 - 1997年2月
  • J2SE 1.2 - 1998年12月
  • J2SE 1.3 - 2000年5月
  • J2SE 1.4 - 2002年2月
  • J2SE 5.0 - 2004年9月
  • Java SE 6 - 2006年12月
  • Java SE 7 - 2011年7月
  • Java SE 8(LTS) - 2014年3月
  • Java SE 9 - 2017年9月
  • Java SE 10(18.3) - 2018年3月
  • Java SE 11(18.9 LTS) - 2018年9月
  • Java SE 12(19.3) - 2019年3月

注意:再也不支持斜體版本。架構

咱們能夠看到Java SE的主要版本大約每兩年發佈一次,直到Java SE 7.從Java SE 6開始花了五年時間,以後又花了三年時間到達Java SE 8。oracle

自Java SE 10以來,咱們能夠期待每六個月發佈一次新版本。可是,並不是全部版本都是長期支持(LTS)版本。因爲Oracle的發佈計劃,LTS產品發佈僅每三年發佈一次。jsp

OpenJDK

OpenJDK是Java SE平臺版的開源和免費實現,它是Sun Corporation(如今的Oracle Corporation)於2006年開始的開發結果。它是根據GNU GPL許可證受權的。它最初於2007年發佈。它由Oracle Corporation,Red Hat,IBM,Apple Inc.,OpenJDK和Java Community等開發。它是使用C ++和Java編程語言編寫的。它支持不一樣的操做系統,如FreeBSD,Linux,Microsoft Windows,Mac OS X. OpenJDK是Java SE Platform Edition的官方參考實現。編程語言

如今讓咱們看看OpenJDK版本:工具

  • OpenJDK 6項目 - 基於JDK 7,但通過修改後提供了Java 6的開源版本
  • OpenJDK 7項目 - 2011年7月28日
  • OpenJDK 7u項目 - 該項目開發Java Development Kit 7的更新
  • OpenJDK 8項目 - 2014年3月18日
  • OpenJDK 8u項目 - 該項目開發Java Development Kit 8的更新
  • OpenJDK 9項目 - 2017年9月21日
  • JDK項目於2018年3月10日至20日發佈
  • JDK項目於2018年9月11日至25日發佈
  • JDK項目發佈12 - 穩定階段

Oracle與OpenJDK之間的比較(信息圖表)

對比圖.jpg

Oracle與OpenJDK之間的主要區別

Oracle與OpenJDK都是市場上的熱門選擇; 讓咱們討論一下OracleJDK與OpenJDK之間的一些主要差別:性能

  1. Oracle JDK版本將每三年發佈一次,而OpenJDK版本每三個月發佈一次。開發工具

  2. Oracle JDK將更多地關注穩定性,它重視更多的企業級用戶,而OpenJDK常常發佈以支持其餘性能,這可能會致使不穩定。

  3. Oracle JDK支持長期發佈的更改,而Open JDK僅支持計劃和完成下一個發行版。

  4. Oracle JDK根據二進制代碼許可協議得到許可,而OpenJDK根據GPL v2許可得到許可。 使用Oracle平臺時會產生一些許可影響。如Oracle 宣佈的那樣,在沒有商業許可的狀況下,在2019年1月以後發佈的Oracle Java SE 8的公開更新將沒法用於商業,商業或生產用途。可是,OpenJDK是徹底開源的,能夠自由使用。

  5. Oracle JDK的構建過程基於OpenJDK,所以OpenJDK與Oracle JDK之間沒有技術差別。

  6. 頂級公司正在使用Oracle JDK,例如Android Studio,Minecraft和IntelliJ IDEA開發工具,其中Open JDK不太受歡迎。

  7. Oracle JDK具備Flight Recorder,Java Mission Control和Application Class-Data Sharing功能,Open JDK具備Font Renderer功能,這是OpenJDK與Oracle JDK之間的顯着差別。

  8. Oracle JDK具備良好的GC選項和更好的渲染器,而OpenJDK具備更少的GC選項,而且因爲其包含本身的渲染器的分佈,所以具備較慢的圖形渲染器選項。

  9. 在響應性和JVM性能方面,Oracle JDK與OpenJDK相比提供了更好的性能。

  10. 與OpenJDK相比,Oracle JDK的開源社區較少,OpenJDK社區用戶的表現優於Oracle JDK發佈的功能,以提升性能。

  11. 若是使用Oracle JDK會產生許可影響,而OpenJDK沒有這樣的問題,而且能夠以任何方式使用,以知足徹底開源和無償使用。

  12. Oracle JDK在運行JDK時不會產生任何問題,而OpenJDK在爲某些用戶運行JDK時會產生一些問題。

  13. 根據使用方的使用和許可協議,現有應用程序能夠從Oracle JDK遷移到Open JDK,反之亦然。

  14. Oracle JDK將從其10.0.X版本將收費,用戶必須付費或必須依賴OpenJDK才能使用其免費版本。

  15. Oracle JDK不會爲即將發佈的版本提供長期支持,用戶每次都必須經過更新到最新版本得到支持來獲取最新版本。

  16. Oracle JDK之前的1.0版之前的版本是由Sun開發的,後來被Oracle收購併爲其餘版本維護,而OpenJDK最初只基於Java SDK或JDK版本7。

  17. Oracle JDK發佈時大多數功能都是開源的,其中一些功能免於開源,而且根據Sun的許可受權,而OpenJDK發佈了全部功能,如開源和免費。

  18. Oracle JDK徹底由Oracle公司開發,而Open JDK項目由IBM,Apple,SAP AG,Redhat等頂級公司加入和合做。

Oracle與OpenJDK比較表

如下是Oracle與OpenJDK之間最重要的比較:

Oracle與OpenJDK之間比較 Oracle JDK OpenJDK
執照 它是根據GPL(通用公共許可證)許可證受權的 它是根據GNU GPL(通用公共許可證)許可證受權的
發展 由Sun Microsystems Inc.開發 由Oracle,OpenJDK和Java社區開發
性能 根據Sun JDK的開發和實現提供性能 提供由Oracle JDK之上的一些供應商開發的高性能
可擴展性 根據Sun的實施 可使用其餘庫或Oracle JDK進行改進
費用 Sun的官方執行許可證 開源和免費實施可供無償使用
速度 由Sun Microsystems Inc.開發 第三方供應商將經過進行一些調整來提升JVM的速度
操做系統 支持Windows,Linux,Solaris,MacOS FreeBSD,Linux,Microsoft Windows,Mac OS X.
便於使用 能夠與任何應用程序開發一塊兒使用 能夠與任何應用程序開發和其餘開源工具一塊兒使用,以提升開源實現模型的性能。

結論

Oracle JDK可用於開發Java Web應用程序,獨立應用程序以及許多其餘圖形用戶界面以及其餘開發工具。Oracle JDK執行的全部操做或任務也能夠由OpenJDK執行,但只有Oracle與OpenJDK之間的區別在於Open JDK在現有Oracle JDK之上的許可和其餘工具集成和實現。使用OpenJDK的優勢是能夠根據應用程序的要求修改性能,可伸縮性和實現,以根據須要調整Java虛擬機。

OpenJDK的優點更多,Oracle JDK的使用在Oracle JDK實現中使用的標準方面也有一些好處,這將確保應用程序穩定和良好維護。

相關文章
相關標籤/搜索