Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
78
Help us understand the problem. What is going on with this article?
@yamadamn

Oracle JDK 8にあってOpenJDKにない機能

はじめに

Oracle JDK/JRE 8のPublic Updates1が商用ユーザーに対しては2019年1月までで終了し、別の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

補足

  • Oracle JRE 8(≠JDK)までは自動更新もありますが、他のJDKディストリビューションにはありません。22
    • JRE単体を多くのディストリビューション23で配布するようになっていますが、含まれない機能が多々ありますので、本記事の注釈を適宜参照ください。
  • インストーラについては多くのディストリビューションが対応するようになっています。24
  • SSL証明書用のデフォルトのキーストア(JRE_HOME/lib/security/cacerts)やタイムゾーン・データベース(JRE_HOME/lib/tzdb.dat)は、JDKディストリビューションによって異なる場合が多いです。

まとめ

  • JDKディストリビューションは有償版・無償版を含め数多く存在しますので、環境・状況に適したものを選びましょう。

参考リンク


  1. 参考リンクのサポート・ロードマップ(日本語)では"公式アップデート"と訳されていますが、実際は"公開アップデート"の意味であり、英語原文の"Public Updates"のままとしました。 

  2. OpenJDK 11では元々Oracle JDKで有償だった多くの機能が寄贈されているため、事情が異なります。また、それ以前であっても、JDKディストリビューションによっては代替機能が存在する場合もあります。 

  3. JDK 8では、以前からRed Hat OpenJDKAzul Zuluがあり、JDK 9からのリリースモデル変更以降は、AdoptOpenJDKAmazon Correttoなどが正式リリースされています。 

  4. ChromeやFirefoxでは2015年以降に順次利用できなくなり、Oracle JDK/JRE 9から非推奨となることが2016年頭に発表され、JDK 11から削除されました。(2018年9月のSafari 12でも利用できなくなりました。) 

  5. JDK 11から削除されましたが、KarakunがOpenWebStartをリリースしました。また、IcedTea-Webで開発されたWeb Startは、RHEL用のOpenJDK以外にWindows版も正式サポートされました。AdoptOpenJDK 8のWindows x64版でもインストール時にオプションとして選択できます。 

  6. JDK 11に含まれていませんが、OpenJFXを独自に組み込むことはできます。また、BellSoft Liberica JDKのFull版Azul ZuluFXはOpenJFXをバンドルしています。なお、Amazon Corretto 8はOpenJFXをバンドルしていますが古いバージョンのままであり、11には含まれません。 

  7. JDK 9から削除されましたが、OpenJDKとは別のオープンソースとして配布されています。 

  8. Java DBとも呼ばれ、JDK 9から削除されましたが、実体はApache Derbyです。 

  9. Red Hat OpenJDK Windows版ではRHELからインポートしたTrueTypeフォントのDejaVuセットが含まれています。Azul ZuluではCommercial Compatibility Kitとしてフォントライブラリを別途配布しています。AdoptOpenJDKはFreetypeを採用しています。Oracle JDK 11では固有だったT2KやLucidaフォントは削除されました。 

  10. JDK 9までKodak Color Management System (KCMS)ライブラリが使われていましたが、JDK 10からOpenJDKで使われていたLittle CMS (LCMS)ライブラリに置き換わったようです。AdoptOpenJDKはLCMSを採用しています。 

  11. JEP 265としてJDK 9からオープンソースのMarlinライブラリに置き換わりました。AdoptOpenJDK 8はPiscesを採用しています。 

  12. JDK 9からはデフォルトで無制限の暗号化ポリシーとなっています。Oracle JDK 8u161以降は無制限の暗号化ポリシーが有効になっていますが、それ以前は 別途ダウンロードして設定する必要があります。また、Azul SystemsはZulu Cryptography Extension Kitを配布しています。 

  13. Java SE DownloadsのAdditional Resourcesからダウンロードできます。また、Azul SystemsはオープンソースのZIUpdaterを配布しています。BellSoftもIANA Updaterを提供しています。 

  14. OpenJDK 12で削除されました。 

  15. 代替としてSNMP4Jを使う場合もあるようです。 

  16. JEP 328としてOpenJDK 11からFlight Recorderが入っていますが、OpenJDK 8u262からバックポートされて利用できるようになりました。 

  17. Oracle JDK 8u261からはバンドルされなくなりましたが、jdk.java.netで配布されたり、Java SE DownloadsのAdditional Resourcesからダウンロードできます。Red HatのOpenJDKでも利用できるようになりました。また、Azul SystemsはZulu Mission Controlとして配布したり、BellSoftはLiberica Mission Controlをリリースしています。AdoptOpenJDK用のページAmazon Corretto用のJMCも利用可能です。 

  18. JEP 310としてOpenJDK 10から利用できるようになっています。 

  19. Oracle JDK 10から非推奨となり、JDK 11でオプションが削除されました。 

  20. Java SE DownloadsのAdditional Resourcesからダウンロードできますが、有償機能です。 

  21. オープンソース化に向けて作業中です。Oracle JDK/JREではAdvanced Management Consoleで使用状況を管理するのに用いられます。 

  22. Red Hatの開発者向けOpenJDKのWindowsインストーラ 8u212以降ではUpdate Notifierが用意されています。 

  23. java.comからの配布も2019年4月リリースからライセンスが変わり、商用ではサブスクリプションが必要となりました。無償でJRE 8を配布しているのはAzul ZuluAdoptOpenJDKBellSoft Liberica JDKAmazon Correttoがあります。 

  24. 上記23以外ではRed Hat OpenJDK Windows版にもインストーラがあります。 

  25. AdoptOpenJDKBellSoft Liberica JDKRed Hat OpenJDK Windows版(開発者向け)Azul Zuluでは、JRE 8のWindows MSIインストーラがあり、32ビット(x86)にも対応しています。 

78
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
yamadamn
最近はOpenJDKソムリエ🍷とか呼ばれてます。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
78
Help us understand the problem. What is going on with this article?