回答
OpenJDK中仍然存在可能影響您的操作的迴歸。例如,請參閱:Memory error when trying to change Apache Tomcat port from 8080 to 80
OpenJDK不能被視爲替代Sun Java的安全替代品,請仔細測試您的應用程序。
編輯:爲了清楚起見,提到的問題是由於OpenJDK相比Sun Java稍微增加的內存使用率(不是很多,但足以在此情況下創建內存問題)引起的。
在我們的生產環境中,我們開發了一些JavaEE應用程序,我將JDK更改爲OpenJDK,一切運行良好。
OpenJDK是否可以生產的問題的答案可能取決於您的應用程序工作負載。在Azul Systems,我們圍繞OpenJDK推出了Zulu產品,目的是利用OpenJDK支持生產工作負載。爲了做到這一點,我們準備了我們自己的OpenJDK二進制發行版,在Windows和Linux平臺上針對相關Java SE標準(即6,7和8)的技術兼容性工具包(「TCK」)進行測試,然後在各種應用場景中練習它們:Java EE應用服務器,GUI應用程序,基準測試,虛擬化和雲環境,調試器等。
到目前爲止,OpenJDK正在應對許多類型的工作負載。 OpenJDK和Hotspot之間仍有一些區別,可能與您自己的工作負載和應用程序設計有關,例如瀏覽器JRE插件和Java Web Start在Hotspot中,但不在OpenJDK中。 OpenJDK中的核心JVM仍然非常相似:相同的解釋器,相同的C1和C2編譯器,相同的垃圾收集器,相同的源編譯器和類API層次結構以及類似的基本工具。剩餘的許多空白都來自於產權負擔,這意味着Oracle JDK中存在的項目無法從最初的包含和許可證影響中公開。
鑑於「Java 7已準備就緒」,在OpenJDK 6中的差異確實可能最爲明顯,因爲它的源代碼通過IcedTea開源項目進行了演變。在GA開始的OpenJDK 7和OpenJDK 8非常相似,然後在整個維護週期中出現差異,其中安全修復程序定期流入OpenJDK,並在Oracle執行季度重要補丁更新時進行大量修復。此外,從8個和9個存儲庫中的6個和7個有價值的源修改和修復在整個生命週期中不斷髮生。好的代碼是很好的代碼。
在考慮生產操作時,您可能還需要考慮爲JVM和JDK提供技術支持。雖然Zulu本身是免費的,但如果您的生產環境需要支持,Azul會通過不同級別的Zulu Enterprise產品提供基於收費的技術支持。
祖魯語和祖魯企業都Azul的網站在這裏描述: http://www.azulsystems.com/products/zulu
免責聲明:我是祖魯語和活力的產品在Azul系統的產品經理。
在所有需要jvm的情況下,我一直使用java-1.8.0-openjdk作爲CentOS 7堆棧的一部分。我一直在使用Elasticsearch,Hadoop的各種設置,也是Eclipse(Luna)的基礎。在實驗室中使用這些應用程序數月後,我還沒有看到任何問題。據我所知,它表現完美無瑕。
- 1. 卡夫卡是否準備投入生產使用?
- 2. 獲取MEAN應用程序準備投入生產
- 3. PHP準備插入使用procederal風格
- 4. 您是否相信ASP.Net MVC已準備好投入生產?
- 5. 是nhibernate 3.0已準備好投入生產
- 6. PDO,準備使用
- 7. 如何把投入和使用標準輸入和標準輸出
- 8. MVN發佈:準備使用Maven 3
- 9. Hibernate標準投射投影
- 10. 使用投影通過標準
- 11. 準備使用顏料庫
- 12. 使用文檔準備
- 13. 準備LAPACK DLL使用MinGW
- 14. PHP PDO準備使用 「%」
- 15. 如何準備使用NSMutableArraySeSegue?
- 16. OpenJDK使用printf調試?
- 17. 使用OpenJDK 9 EA與IntelliJ
- 18. @XmlElement - 使用Maven的OpenJDK
- 19. NHibernate的投影:如何獲得使用標準API與投影
- 20. PDO準備插入值
- 21. 準備插入查詢
- 22. MySQLi插入準備錯誤
- 23. 導入圖像準備keras
- 24. 如果我從Sun JDK切換到OpenJDK,需要準備哪些驚喜?
- 25. 在DBI準備語句中重複使用?準備
- 26. 用mysql準備
- 27. 用準備語句插入CURRENT_TIMESTAMP
- 28. 在非投射設備上使用投射功能
- 29. Rails資產投入使用
- 30. JAX-RS 2.0球衣準備好在4月至5月投入生產?