Oracle JavaというとOracle JDKを指している場合が多いですが、今回はそのOracle JDKについて、ディストリビューションと何が違うのかなどじっくりと解説していきます。
目次
Oracle Javaとは
JavaとOracle Javaの違いが分かりません
言い方が違うだけで同じ物です。Java = Java SE = Oracle Javaという認識で大丈夫です。
まずOracle Javaとは一体何なのかについて解説します。
Oracle Javaとはその名前の通り、Java全体を言います。
もとよりJavaはSun Microsystemsによって開発公開されたものでしたが、2010年にSun MicrosystemsはOracle社に吸収合併され、そのときにJavaの権利などは全てOracle社の所有となったため、Java=Oracle社という認識が広まり今に至ります。
JDKはJava Development Kitの略称ですが、これも同じくOracle社の商標となっているため、無償版であるOpen JDKと区別する為にOracle JDKと呼んでいます。
Oracle JDKとOpen JDKの違い
Oracle JDKとOpen JDKはライセンスが違うことは誰もが知っていると思いますが、それ以外にもいくつかの違いがあります。
例えば、Oracle JDKにはFlight RecorderやMission Controlのような商用機能、JavaFXやJava Web Startのようなデスクトップ機能がありますが、こういった機能はOpen JDKにはありませんでした。
しかし2019年のJDK有償化に伴い、これらの機能の多くはOpen JDKにも公開されましたので、今後は機能の違いについてはなくなるのではないかとと思われます。
新しいリリースサイクルは毎年3月と9月に固定され、Java SE11(2018年9月リリース)を基準にから3年後にリリースされるモデルにのみLTSが設定されるようになります。
※Java SE 11はリリースサイクル変更後1本目のLTSが設定バージョンですので、次のLTSバージョンはJava SE 17となります。
ディストリビューションとは
Javaが配布される形態全般を指してディストリビューションと呼びます。
もっとわかりやすい例えでいうと、Javaというオープンソースライセンスにプラスαしたソフトウェアと思ってください。そしてそれらを配布している企業をディストリビューターと言います。
JDKにもディストリビューションは存在しており、各ディストリビューターによって開発配布されています。
ディストリビューションの特徴
この項目ではいくつかのディストリビューションJDKの紹介をしていきます。
Oracle JDK
https://www.oracle.com/index.html
言わずと知れたメインディストリビューターです。
商標主でもありますので、開発の信頼度は群を抜いています。ただ、今回の有償化に対する情報発信の薄さと速度が起因し、エンドユーザーからは不満なども出ています。
老舗であることから日本語で書かれた情報サイトも非常に多いので、そういった点では一番使いやすいディストリビューションと言えるかもしれません。
Red hat Open JDK
https://developers.redhat.com/products/openjdk/download
Open JDKの共同開発者と言っても過言ではないほど貢献している企業です。Open JDK開発中期からはRed Hatが主導となって修正を進めてきました。
またWindows版OpenJDKに対しても正式サポートを公表しています。
自社でビルドしたOpen JDKについてはOpen JDK8で2023年6月まで、Open JDK11で2024年10月までサポートを提供する予定と発表しています。
Adopt Open JDK with HotSpot
AdoptOpenJDKはインストーラーパッケージを提供しているため、一般ユーザーからも今後は支持が伸びると予想されます。
OpenJDKは一般向けに無償利用が可能となっていますが、インストーラーが無い為なかなか敷居が高いとも言えます。
また、このディストリビューションにはIBMやMicrosoftなどの超大手企業も参加していますので、信頼性という部分においても十二分にあると言えます。
ディストリビューションを選択する上で重要なこと
今後は開発者若しくは企業がJDKディストリビューションを自ら選択して行く必要が有りますが、これらのディストリビューションに対しどういう基準で選ぶべきかという部分が重要になってくると思います。
この項目では、開発者や担当者が今後考えるべき注意点について解説していきます。
各ディストリビューションの違いを把握しておく
開発時におけるJDKを絞るのではなく、JDK全体の動向や個々の特徴を常に把握し必要に応じて使い分けができるよう、常に情報を保持する必要があります。
運用環境は最も重要な要素ですが、いくら開発しやすいからと言って、それが絶対的に正しいというわけではありません。選択の幅が増えたということは、同時に様々な特徴の中で最良の選択を余儀なくされるということになるからです。
また、ディストリビューション毎にリリースサイクルは異なります。それと同時に追加されていく機能にも当然差が生じますので、各ディストリビューターの公式サイトでチェックしたり、実際に試しておくことが必要となってきます。
コミュニティへの参加
今後は今以上に勉強会やセミナーが頻繁に行われるようになると予想されます。
また各ディストリビューターに対して、ユーザーが雑感などの情報を発信する機会も多くなるでしょう。
これらのコミュニティに対し積極的に参加し情報の交換や発信を行うことで、そのディストリビューションに対する理解が深まります。
また、各仕様に対してのバグレポートなども積極的に提出することで、それらのディストリビューションの開発度にも影響が出てきますので、今後はただの使用者という位置付けではなく自らも開発の一端を担うという意識を持つくらいが良いのではないかと思います。
まとめ
いかがでしたか?
今回はOracle Javaについての解説を行いましたが、これは一般ユーザーには今まであまり関係のなかった部分(ディストリビューション)についての説明でもあります。
しかし今後はJavaの在り方が今までとはまるで違ってくるため、今のうちからそれぞれの違いなどについて勉強しておくことをお勧めします。
Oracleについて
この企業についてはかなり多くの方が知り尽くしていると思いますので、簡単に紹介いたします。
Oracle社は、マイクロソフトやIBMといったコンピュータ関連企業に次いで世界3位のソフトウェア会社です。
主に扱っているのはデータベース管理システムを中心とした企業向けのソフトウェアです。日本の企業でもその多くはOracle社のものを使っていますので世界中で信頼されていることが分かります。
別記事で資格について解説していますが、Oracleの認定資格としてオラクルマスターというものがあり、日本でも多くの受験者が居ます。