Oracle JDK 和 OpenJDK 的區別?

Oracle JDK 和 OpenJDK 的對比

可能在看這個問題之前很多人和我一樣並沒有接觸和使用過 OpenJDK 。那麼Oracle和OpenJDK之間是否存在重大差異?下面我通過收集到的一些資料,爲你解答這個被很多人忽視的問題。

對於Java 7,沒什麼關鍵的地方。OpenJDK項目主要基於Sun捐贈的HotSpot源代碼。此外,OpenJDK被選爲Java 7的參考實現,由Oracle工程師維護。關於JVM,JDK,JRE和OpenJDK之間的區別,Oracle博客帖子在2012年有一個更詳細的答案:

問:OpenJDK存儲庫中的源代碼與用於構建Oracle JDK的代碼之間有什麼區別?

非常接近 - 我們的Oracle JDK版本構建過程基於OpenJDK 7構建,只添加了幾個部分,例如部署代碼,其中包括Oracle的Java插件和Java WebStart的實現,以及一些封閉的源代碼派對組件,如圖形光柵化器,一些開源的第三方組件,如Rhino,以及一些零碎的東西,如附加文檔或第三方字體。展望未來,我們的目的是開源Oracle JDK的所有部分,除了我們考慮商業功能的部分。

總結:

  1. Oracle JDK大概每6個月發一次主要版本,而OpenJDK版本大概每三個月發佈一次。但這不是固定的,我覺得了解這個沒啥用處。詳情參見:https://blogs.oracle.com/java-platform-group/update-and-faq-on-the-java-se-release-cadence。
  2. OpenJDK 是一個參考模型並且是完全開源的,而Oracle JDK是OpenJDK的一個實現,並不是完全開源的;
  3. Oracle JDK 比 OpenJDK 更穩定。OpenJDK和Oracle JDK的代碼幾乎相同,但Oracle JDK有更多的類和一些錯誤修復。因此,如果您想開發企業/商業軟件,我建議您選擇Oracle JDK,因爲它經過了徹底的測試和穩定。某些情況下,有些人提到在使用OpenJDK 可能會遇到了許多應用程序崩潰的問題,但是,只需切換到Oracle JDK就可以解決問題;
  4. 在響應性和JVM性能方面,Oracle JDK與OpenJDK相比提供了更好的性能;
  5. Oracle JDK不會爲即將發佈的版本提供長期支持,用戶每次都必須通過更新到最新版本獲得支持來獲取最新版本;
  6. Oracle JDK根據二進制代碼許可協議獲得許可,而OpenJDK根據GPL v2許可獲得許可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章