Oracle JDK 8にあってOpenJDKにない機能
はじめに
この記事は、Qiitaとのマルチポストです。
Oracle JDK/JRE 8のPublic Updates[1]が商用ユーザーに対しては2019年1月までで終了し、2019年4月のリリースからライセンスが変更されたため、別のJDKディストリビューションへの切り替えを考えている方も多いと思います。
しかし、特にOracle JDK 8までは、素のOpenJDKにはない[2]機能が多く存在します。
安易に切り替えてトラブルにならないように、Oracle JDK 8にはあるが、一般的なOpenJDKディストリビューション[3]にはない機能を無償・有償別にまとめてみます。
Oracle JDK 8で無償利用できていた機能
- Applets/JRE Browser plug-in [4]
- Java Web Start [5]
- JavaFX [6]
- VisualVM [7]
- Derby DB [8]
- Font Rendering/Fonts [9]
- Color Matching [10]
- Anti-Aliased 2D Rendering [11]
- Cryptography Extensions [12]
- Timezone Updater Tool [13]
- Error Report Transmission [14]
- SNMP Protocol Adapter [15]
Oracle JDK 8でもともと有償利用する機能
- Flight Recorder [16]
- Mission Control [17]
- Application Class Data Sharing [18]
- Resource Management [19]
- Advanced Management Console [20]
- Usage Tracker [21]
- Enterprise Performance Pack [22]
補足
- Oracle JRE 8(≠JDK)までは自動更新もありますが、他のJDKディストリビューションには基本的にありません。[23]
- JRE単体を多くのディストリビューション[24]で配布するようになっていますが、含まれない機能が多々ありますので、本記事の注釈を適宜参照ください。
- インストーラについては多くのディストリビューションが対応するようになっています。[25]
- 有償機能ですが、Oracle JRE 8にはMSI Enterprise JRE Installerも用意されています。[26]
- SSL証明書用のデフォルトのキーストア(JRE_HOME/lib/security/cacerts)やタイムゾーン・データベース(JRE_HOME/lib/tzdb.dat)は、JDKディストリビューションによって異なる場合が多いです。
まとめ
- JDKディストリビューションは有償版・無償版を含め数多く存在しますので、環境・状況に適したものを選びましょう。
参考リンク
- Oracle Java SE Supportロードマップ
- 各JDKベンダの動向を知ってJava 11に備えよう:レポート
- OpenJDK のライフサイクルおよびサポートポリシー - Red Hat Customer Portal
- Zulu EnterpriseのFAQ - Azul Systems Inc. (Web Archive)
- OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn)
- Java SE Subscription | オラクル | Oracle 日本
- JDK 新しいリリースモデル解説
- JDK、Oracle JDK、OpenJDK、Java SEってなに?
-
参考リンクのサポート・ロードマップ(日本語)では、以前は"公式アップデート"と訳されていましたが、実際は"公開アップデート"の意味であり、英語原文の"Public Updates"のままとしました。 ↩︎
-
OpenJDK 11では元々Oracle JDKで有償だった多くの機能が寄贈されているため、事情が異なります。また、それ以前であっても、JDKディストリビューションによっては代替機能が存在する場合もあります。 ↩︎
-
JDK 8では、以前からRed Hat OpenJDK、Azul Zuluがあり、JDK 9からのリリースモデル変更以降は、BellSoft Liberica JDKやAmazon Correttoなどが正式リリースされています。 ↩︎
-
ChromeやFirefoxでは2015年以降に順次利用できなくなり、Oracle JDK/JRE 9から非推奨となることが2016年頭に発表され、JDK 11から削除されました。(2018年9月のSafari 12でも利用できなくなりました。) ↩︎
-
JDK 11から削除されましたが、KarakunがOpenWebStartをリリースしました。また、IcedTea-Webで開発されたWeb Startは、RHEL用のOpenJDK以外にWindows版も正式サポートされました。 ↩︎
-
JDK 11に含まれていませんが、OpenJFXを独自に組み込むことはできます。また、BellSoft Liberica JDKとAzul ZuluはOpenJFXをバンドルしているパッケージも配布しています。なお、Amazon Corretto 8はOpenJFXをバンドルしていますが古いバージョンのままであり、11には含まれません。 ↩︎
-
JDK 9から削除されましたが、オープンソースとして配布されています。 ↩︎
-
Java DBとも呼ばれ、JDK 9から削除されましたが、実体はApache Derbyです。 ↩︎
-
Red Hat OpenJDK Windows版ではRHELからインポートしたTrueTypeフォントのセットが含まれています。Azul ZuluではCommercial Compatibility Kitとしてフォントライブラリを別途配布しています。Eclipse TemurinはFreetypeを採用しています。Oracle JDK 11では固有だったT2KやLucidaフォントは削除されました。 ↩︎
-
JDK 9までKodak Color Management System (KCMS)ライブラリが使われていましたが、JDK 10からOpenJDKで使われていたLittle CMS (LCMS)ライブラリに置き換わったようです。Eclipse TemurinはLCMSを採用しています。 ↩︎
-
Oracle JDK 8ではDuctusを利用していますが、JEP 265としてJDK 9からオープンソースのMarlinライブラリに置き換わりました。Eclipse Temurin 8はPiscesを採用しています。OpenJDK 8u252からMarlinがバックポートされましたがデフォルトでは利用されないとのことです。また、Azul Zulu 8は以前からMarlinを独自にバックポートしているようです。 ↩︎
-
JDK 9からはデフォルトで無制限の暗号化ポリシーとなっています。Oracle JDK 8u161以降は無制限の暗号化ポリシーが有効になっていますが、それ以前は 別途ダウンロードして設定する必要があります。 ↩︎
-
Java Tools and Resourcesからダウンロードできます。また、Azul SystemsはオープンソースのZIUpdaterを配布しています。BellSoftもIANA Updaterを提供しています。 ↩︎
-
OpenJDK 12で削除されました。 ↩︎
-
JEP 328としてOpenJDK 11からFlight Recorderが入っていますが、OpenJDK 8u262からバックポートされて利用できるようになりました。 ↩︎
-
Oracle JDK 8u261からはバンドルされなくなりましたが、jdk.java.netで配布されたり、Java Tools and Resourcesからダウンロードできます。Red HatのOpenJDKでも利用できるようになりました。また、Azul SystemsはAzul Mission Controlとして配布したり、BellSoftはLiberica Mission Controlをリリースしています。Amazon Corretto用のJMCやAdoptiumのEclipse Mission Controlとしても利用可能です。 ↩︎
-
Oracle JDK 10から非推奨となり、JDK 11でオプションが削除されました。 ↩︎
-
Java Tools and Resourcesからダウンロードできますが、有償機能です。 ↩︎
-
オープンソース化に向けての動きがありましたが取り下げられました。Oracle JDK/JREではAdvanced Management Consoleで使用状況を管理するのに用いられます。 ↩︎
-
JavaOne 2022で発表され、64ビットのサーバー側Linux用にOracle JDK 8u345から導入されました。Java 17までのパフォーマンスに関する機能修正をJava 8ランタイムに提供しています。 ↩︎
-
Red Hatの開発者向けOpenJDKのWindowsインストーラ 8u212(April 2019)から8u332(April 2022)まではUpdate Notifierがあります。Liberica JDKには商用ライセンス機能としてAuto Updaterも用意されているようです。 ↩︎
-
java.comからのダウンロードも2019年4月リリースからライセンスが変わり、商用ではサブスクリプションが必要となりました。無償でJRE 8を配布しているのはAzul Zulu、BellSoft Liberica JDK、Amazon Corretto、Eclipse Temurinがあります。 ↩︎ ↩︎
-
上記[24:1]以外ではRed Hat OpenJDK Windows版にもインストーラがあります。 ↩︎
-
BellSoft Liberica JDK、Red Hat OpenJDK Windows版(開発者向け)、Azul Zulu、Eclipse Temurinでは、JRE 8のWindows MSIインストーラがあり、32ビット(x86)にも対応しています。 ↩︎
Discussion