Oracle与OpenJDK之间的区别
簡介
在本文中,我們將探討Oracle Java Development Kit和OpenJDK之間的差異并進行比較。
Oracle JDK
Oracle JDK由Oracle公司開發,該公司是Sun許可證,基于Java標準版規范實現。它以二進制產品的形式發布。它支持多種操作系統,如Windows,Linux,Solaris,MacOS等。它支持不同的平臺,如Intel 32位和64位架構,ARM架構和SPARC。它完全基于Java編程語言。之后,該許可證宣布將根據GPL(通用公共許可證)許可證發布。Oracle JDK包含許多組件作為庫形式的編程工具集合。
我們來看看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。
自Java SE 10以來,我們可以期待每六個月發布一次新版本。但是,并非所有版本都是長期支持(LTS)版本。由于Oracle的發布計劃,LTS產品發布僅每三年發布一次。
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之間的比較(信息圖表)
?
Oracle與OpenJDK之間的主要區別
Oracle與OpenJDK都是市場上的熱門選擇; 讓我們討論一下OracleJDK與OpenJDK之間的一些主要差異:
Oracle JDK版本將每三年發布一次,而OpenJDK版本每三個月發布一次。
Oracle JDK將更多地關注穩定性,它重視更多的企業級用戶,而OpenJDK經常發布以支持其他性能,這可能會導致不穩定。
Oracle JDK支持長期發布的更改,而Open JDK僅支持計劃和完成下一個發行版。
Oracle JDK根據二進制代碼許可協議獲得許可,而OpenJDK根據GPL v2許可獲得許可。 使用Oracle平臺時會產生一些許可影響。如Oracle?宣布的那樣,在沒有商業許可的情況下,在2019年1月之后發布的Oracle Java SE 8的公開更新將無法用于商業,商業或生產用途。但是,OpenJDK是完全開源的,可以自由使用。
Oracle JDK的構建過程基于OpenJDK,因此OpenJDK與Oracle JDK之間沒有技術差異。
頂級公司正在使用Oracle JDK,例如Android Studio,Minecraft和IntelliJ IDEA開發工具,其中Open JDK不太受歡迎。
Oracle JDK具有Flight Recorder,Java Mission Control和Application Class-Data Sharing功能,Open JDK具有Font Renderer功能,這是OpenJDK與Oracle JDK之間的顯著差異。
Oracle JDK具有良好的GC選項和更好的渲染器,而OpenJDK具有更少的GC選項,并且由于其包含自己的渲染器的分布,因此具有較慢的圖形渲染器選項。
在響應性和JVM性能方面,Oracle JDK與OpenJDK相比提供了更好的性能。
與OpenJDK相比,Oracle JDK的開源社區較少,OpenJDK社區用戶的表現優于Oracle JDK發布的功能,以提高性能。
如果使用Oracle JDK會產生許可影響,而OpenJDK沒有這樣的問題,并且可以以任何方式使用,以滿足完全開源和免費使用。
Oracle JDK在運行JDK時不會產生任何問題,而OpenJDK在為某些用戶運行JDK時會產生一些問題。
根據使用方的使用和許可協議,現有應用程序可以從Oracle JDK遷移到Open JDK,反之亦然。
Oracle JDK將從其10.0.X版本將收費,用戶必須付費或必須依賴OpenJDK才能使用其免費版本。
Oracle JDK不會為即將發布的版本提供長期支持,用戶每次都必須通過更新到最新版本獲得支持來獲取最新版本。
Oracle JDK以前的1.0版以前的版本是由Sun開發的,后來被Oracle收購并為其他版本維護,而OpenJDK最初只基于Java SDK或JDK版本7。
Oracle JDK發布時大多數功能都是開源的,其中一些功能免于開源,并且根據Sun的許可授權,而OpenJDK發布了所有功能,如開源和免費。
Oracle JDK完全由Oracle公司開發,而Open JDK項目由IBM,Apple,SAP AG,Redhat等頂級公司加入和合作。
Oracle與OpenJDK比較表
以下是Oracle與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實現中使用的標準方面也有一些好處,這將確保應用程序穩定和良好維護。
相關資源:openjdk與Oraclejdk的區別_openjdk-其它代碼類資源-CSDN文庫
來源:Oracle與OpenJDK之間的區別_weixin_33939843的博客-CSDN博客
總結
以上是生活随笔為你收集整理的Oracle与OpenJDK之间的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 萧薰儿(说一说萧薰儿的简介)
- 下一篇: 翘首的意思及成语解释(翘首的意思)