Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

OpenJDK - ready for production? [closed]

Tags:

java

openjdk

Wondering if anyone switched from Sun/Oracle JDK to OpenJDK?

Is it production ready? Is the version 7 release any different from the Oracle version?

like image 573
YaOg Avatar asked Feb 18 '12 19:02

YaOg


People also ask

Is OpenJDK production ready?

OpenJDK, Oracle's free, GPL-licensed, production-ready JDK, can be downloaded from https://openjdk.java.net.

Is OpenJDK free for production?

The Red Hat® build of OpenJDK is a free and open source implementation of the Java Platform, Standard Edition (Java SE).

Can OpenJDK be used for commercially?

It can no longer be used in production without a paid support plan. Contact Oracle for details. The Oracle JDK has converged to be at feature-parity with OpenJDK, with Oracle having contributed to OpenJDK even more of their formerly commercial parts such as Flight Recorder and Mission Control.

Is OpenJDK 8 still supported?

OpenJDK Lifecycle Dates and RHEL versionsOpenJDK 8 is now retired on RHEL 6 since its end of life so 1.8. 0_275 was the last and final OpenJDK 8 update made available for RHEL 6. RHEL 7 or 8 must be used for continued OpenJDK support and its latest updates moving forward.


2 Answers

The answer to the question of whether OpenJDK is production-ready likely depends on your application workload. At Azul Systems, we launched the Zulu product around OpenJDK with the intention of supporting production workloads with OpenJDK.

To do this, we prepare our own binary distributions of OpenJDK, test them against the Technology Compatibility Kit ("TCK") for the relevant Java SE standard (ie. 6, 7, and 8) on Windows and Linux platforms, then exercise them in various application scenarios: Java EE application servers, GUI apps, benchmarks, virtualization and cloud contexts, debuggers, etc.

So far OpenJDK is standing up to many types of workloads. There remain a handful of differences between OpenJDK and Hotspot that may or may not pertain to your own workload and application design, for example the browser JRE plugin and Java Web Start are in Hotspot but not in OpenJDK. The core JVM in OpenJDK remains very similar: same interpreter, same C1 and C2 compilers, same garbage collectors, same source compiler and class API hierarchy, and similar basic tools. Many of the remaining gaps stem from encumbrances, meaning items present in the Oracle JDK that could not be made open from their original inclusion and license impact.

In response to the "is Java 7 ready", the differences were indeed likely most pronounced in OpenJDK 6, given its source code evolution through the IcedTea open source project. OpenJDK 7 and OpenJDK 8 started off at GA very similar, then grow to have differences throughout the maintenance cycle, where security fixes flow into OpenJDK regularly, along with big batches of fixes when Oracle does their quarterly critical patch updates. Plus, backports of worthy source changes and fixes into 6 and 7 from the 8 and 9 repositories happen continually throughout the lifecycle. Good code is good code.

When considering production operations, you may also want to consider tech support for the JVM and JDK. While Zulu itself is free, if your production environment warrants support, Azul offers fee-based tech support through different tiers of the Zulu Enterprise offering.

Zulu and Zulu Enterprise are described on the Azul website here: http://www.azulsystems.com/products/zulu

Disclaimer: I am the Product Manager for Zulu and Zing products at Azul Systems.

like image 54
Matt Schuetze Avatar answered Sep 20 '22 04:09

Matt Schuetze


There are still regressions in OpenJDK that might affect your operations. See for example : Memory error when trying to change Apache Tomcat port from 8080 to 80

OpenJDK can't be considered as a safe drop in replacement for Sun Java yet, test carefully your applications.

EDIT: For clarity, the issue mentioned is caused by a slightly increased memory usage of OpenJDK compared to Sun Java (not much, but sufficiently to create a memory issue in this case).

like image 42
Emmanuel Bourg Avatar answered Sep 19 '22 04:09

Emmanuel Bourg