From the course: Migrating beyond Java 8

Choosing a JDK provider - Java Tutorial

From the course: Migrating beyond Java 8

Start my 1-month free trial

Choosing a JDK provider

- [Narrator] There are four main criteria to consider when selecting a JDK provider. First, you should think about why you need Java and what you intend to use it for. If you do not intend to use Java in a production environment for commercial purposes, you most likely can avoid paying costs associated with support. Second, you should consider how frequently you are willing to migrate to a new Java version. If you can migrate with every new Java version, you will not require LTS because each new version should remedy any critical issues found in the last release. Unfortunately, this option is probably not viable for most enterprises. Next, you should consider if you're willing to pay for support. Most enterprises will pay for support because it provides stability for their applications. If you choose not to pay for support, your JDK options will be limited to several providers. Finally, if you have existing agreements with an organization that provides JDK binaries, you may already have access to LTS updates and support. This is typically true for enterprises with a Red Hat Enterprise Linux subscription because Red Hat packages their OpenJDK binaries with their operating system. If we take a look at some popular JDK providers, we can see that each provider has benefits and disadvantages. Adopt OpenJDK is largely free without restrictions and has paid support through IDM. However, is not TCK tested, meaning it is not considered a Java SE compatible implementation because it hasn't passed the test kit. Amazon Coretto is also widely free without restrictions. However, it does not have paid support, which may cause some enterprises to shy away from this provider. Azul Zulu comes in a community and enterprise edition. The enterprise edition is free without restrictions and does manage to check all of our boxes. The Oracle JDK is provided for every release of Java and has LTS updates. However, the major downside is that it requires a commercial license to be used in production and updates are only provided for six months without a license. The Oracle OpenJDK builds are widely free without restrictions. However, support for the builds only lasts six months. So you would be required to migrate every six months. Additionally, commercial support is not available for these builds. Red Hat is one of the largest contributors to Java outside of Oracle. They offer commercial support for their binary and access to updates requires RHEL subscription. There's no one size fits all choice when choosing a JDK provider. Your choice will likely be based upon your situation, intended use of Java, willingness to migrate and need for commercial support. Throughout the course, we'll be using builds from Adopt OpenJDK because they provide most versions of Java, which we'll need for evaluation, and they offer the GPU with Classpath Exception license which can be used without restriction.

Contents