OpenJDK - готов к производству?

Интересно, переключился ли кто-нибудь из Sun/Oracle JDK в OpenJDK?

Готово ли это производство? Разве версия 7 отличается от версии Oracle?

Ответ 1

В OpenJDK по-прежнему сохраняются регрессии, которые могут повлиять на ваши операции. См. Например: Ошибка памяти при попытке изменить порт Apache Tomcat с 8080 до 80

OpenJDK не может считаться безопасным сокращением замены Sun Java, тщательно проверьте ваши приложения.

EDIT: для ясности упомянутая проблема вызвана немного увеличенным использованием памяти OpenJDK по сравнению с Sun Java (не так много, но достаточно для создания проблемы с памятью в этом случае).

Ответ 2

Ответ на вопрос о том, готов ли OpenJDK к производству, зависит от рабочей нагрузки вашего приложения. В Azul Systems мы запустили продукт Zulu вокруг OpenJDK с целью поддержки рабочих нагрузок с OpenJDK.

Для этого мы готовим наши собственные бинарные дистрибутивы OpenJDK, протестируем их против набора совместимости технологий ( "TCK" ) для соответствующего стандарта Java SE (например, 6, 7 и 8) на платформах Windows и Linux, а затем использовать их в различных сценариях приложений: серверы приложений Java EE, приложения с графическим интерфейсом, тесты, виртуализация и облачные контексты, отладчики и т.д.

Пока OpenJDK поддерживает многие типы рабочих нагрузок. Остается несколько различий между OpenJDK и Hotspot, которые могут или не могут относиться к вашей собственной рабочей нагрузке и дизайну приложения, например, браузер JRE plugin и Java Web Start находятся в Точке, но не в OpenJDK. Ядро JVM в OpenJDK по-прежнему очень похоже: один и тот же интерпретатор, такие же C1 и C2 компиляторы, те же сборщики мусора, тот же исходный компилятор и иерархия классов API, и аналогичные базовые инструменты. Многие из оставшихся пробелов связаны с обременениями, что означает элементы, присутствующие в Oracle JDK, которые не могут быть открытыми от их первоначального включения и влияния лицензии.

В ответ на "готовность Java 7" различия были, скорее всего, наиболее выраженными в OpenJDK 6, учитывая его эволюцию исходного кода через проект с открытым исходным кодом IcedTea. OpenJDK 7 и OpenJDK 8 начались с GA очень похоже, а затем выросли, чтобы иметь различия во всем цикле технического обслуживания, где исправления безопасности регулярно текут в OpenJDK, а также большие партии исправлений, когда Oracle делает свои квартальные критические обновления обновлений. Кроме того, резервные копии достойных исходных изменений и исправлений в 6 и 7 из 8 и 9 хранилищ происходят постоянно на протяжении всего жизненного цикла. Хороший код - хороший код.

При рассмотрении производственных операций вы также можете рассмотреть техническую поддержку JVM и JDK. Хотя Zulu сам по себе свободен, если ваша производственная среда гарантирует поддержку, Azul предлагает платную техническую поддержку через различные уровни предложения Zulu Enterprise.

Zulu и Zulu Enterprise описаны на сайте Azul: http://www.azulsystems.com/products/zulu

Отказ от ответственности: я являюсь менеджером продуктов для продуктов Zulu и Zing в Azul Systems.

Ответ 3

В нашей производственной среде мы разрабатываем некоторые приложения JavaEE, я сменил JDK на OpenJDK, все работало очень хорошо.

Ответ 4

Я использую java-1.8.0-openjdk как часть стека CentOS 7 во всех случаях необходимости jvm. Я использовал его с различными установками Elasticsearch, Hadoop, а также в качестве основы для Eclipse (Luna). Я не видел никаких проблем после нескольких месяцев использования этих приложений в лаборатории. Насколько я могу судить, он выполнял безупречно.