2012-02-18 93 views

回答

8

OpenJDK中仍然存在可能影響您的操作的迴歸。例如,請參閱:Memory error when trying to change Apache Tomcat port from 8080 to 80

OpenJDK不能被視爲替代Sun Java的安全替代品,請仔細測試您的應用程序。

編輯:爲了清楚起見,提到的問題是由於OpenJDK相比Sun Java稍微增加的內存使用率(不是很多,但足以在此情況下創建內存問題)引起的。

2

在我們的生產環境中,我們開發了一些JavaEE應用程序,我將JDK更改爲OpenJDK,一切運行良好。

8

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系統的產品經理。

0

在所有需要jvm的情況下,我一直使用java-1.8.0-openjdk作爲CentOS 7堆棧的一部分。我一直在使用Elasticsearch,Hadoop的各種設置,也是Eclipse(Luna)的基礎。在實驗室中使用這些應用程序數月後,我還沒有看到任何問題。據我所知,它表現完美無瑕。