Javaの歴史
Javaは、1995年にUNIXベンダーとして有名でだったサン・マイクロシステムズによって公開されました。「一度(プログラムを)書けば、どこでも実行できる」をコンセプトとしたプログラム言語として、発表当時は世界に大きなインパクトを与えました。
2007年には、GoogleからAndroidが発表され、Javaで開発されたモバイルオペレーティングシステムとして、現在までに20億人を超えるユーザーがいます。
本記事では、Javaのバージョンを確認する方法と、バージョン毎のサポート状況について紹介します。
Javaのバージョンを確認する方法
Javaがインストールされているか、インストールされているJavaのバージョンを確認する方法を解説します。
コントロールパネルから確認する方法
▪️ Windowsの場合
Windowsの「スタート」メニューの、プログラムリストから、「Java」を探します。
「Javaの構成」をクリックしてJavaコントロール・パネルを起動します
「一般」のタブから「バージョン情報」のボタンをクリックします。
「Javaについて」というポップアップ画面が開き、コンピューター上にインストールされているJavaのバージョンが表示されます。
▪️ Macの場合
まず、画面左上のメニューバーより「Appleアイコン」→ 「システム環境設定」の順にクリックし、システム環境設定の画面を表示します。
次に、システム環境設定の中からJavaアイコンをクリックします。ここでJavaのアイコンが表示されていない場合は、Javaがインストールされていない可能性があります。
「一般」のタブから「バージョン情報」のボタンをクリックします。
「Javaについて」というポップアップ画面が開き、コンピューター上にインストールされているJavaのバージョンが表示されます。
【関連記事】
▶MACでJavaのバージョンを確認する方法と切り替え方とは?
コマンドで確認する方法
コマンドを使用して、Javaのバージョンを確認する方法もあります。コマンドプロンプト(Macではターミンナル)を起動し、以下のコマンドを入力します。
java -version
コマンドを実行すると、結果が表示され、次の例ではJavaは「1.8.0_192」のバージョンがインストールされていることが確認できます。
java version "1.8.0_192" Java(TM) SE Runtime Environment (build 1.8.0_192-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)
JREとJDK
Javaの用語として、「JDK」や「JRE」という言葉を耳にすることがあります。
JREは”Java Runtime Environment”の略で、Javaのアプリケーションを動作させるために必要な環境です。例えば、「Minecraft Java EDITION」や「OpenOffice」などのJavaで作られたアプリを動かすためには、JREが必要になります。
JDKは”Java Developers Kit”の略で、Javaの開発を行うときに必須な環境です。JDKには、コンパイラ、デバッガなどのJavaの開発に必要なツールが入っています。
次の記事では、JREとJDKについての詳しい解説をおこなっていますので、こちらもご覧ください。
【関連記事】
▶ Java Runtime Environmentについてのあれこれを徹底解説!
Open JDKとOracle JDK
前述したJDKにも、「Open JDK」と「Oracle JDK」があり、少し混乱してしまいそうですが、違いについて解説します。
Open JDK
Java SEの仕様に基づいたJavaの実装です。
Java VMや、コードをバイトコードに変換すすJavaコンパイラ、JavaのAPI実装などを開発しているオープンソースプロジェクトです。 単にJDKと呼ぶこともありますが、後述するOracle JDKなどと区別するために、Open JDKと呼ばれています。
Oracle JDK
その名の通り、Oracle社が提供しているJDKです。前述したOpen JDKの実装に、JavaFXなどのデスクトップ機能を追加したものがOracle JDKです。
ただし、Java 11からはOpenJDKもデスクトップ機能が追加されたため、Oracle JDKとOpen JDKは機能的には同一のものになりました。
【関連記事】
▶ Java SEが変わる⁉Open JDKの今後やディストリビューションの特徴について解説します。
Oracle JDK 11は実質有料?
2018年9月26日にリリースされたOracle Java 11で、Java開発者にとって衝撃的なニュースが流れました。
それは、Oracle Java11から長期サポート(LTS)が実施され、そのサポートを受けるためには有償の契約を結ぶ必要があるということです。
では、Oracle Java11からは「お金を払わないとダウンロードできないのか?」と思われるかもしれませんが、そうではありません。
無料利用は非商用と開発用途のみ
Oracle Java11は、これまで同じようにOracle社のサイトからダウンロードできます。また、非商用や開発目的であれば、これまで通り無料で利用することもできます。
実際、Java11から「Oracle Technology Networkライセンス契約」のライセンスが適用されました。
ライセンスの全文は、以下のリンクに記載されていますので詳細はこちらでご確認ください。
「ライセンスの権利及び制限」の所を見ると、次のように書かれており、商用目的では利用出来ないことが分かります。
オラクルはお客様に、本契約に明示する制限に従って、お客様のアプリケーションの開発、テスト、プロトタイプ作成、及びデモンストレーションのみを目的として(かつ、お客様のアプリケーションが、データ処理、業務、商用又は本番利用を目的として使用されたことがない場合に限られます)、その他のいかなる目的でもなく、本プログラムを内部的に使用するための、非独占的、譲渡不能の限定的なライセンスを許諾します。
うっかり、これまでの無料利用のまま、本番環境にアプリを適用すると、重大なライセンス違反になる可能性があるため、気をつけましょう。
バージョンアップにより影響
Javaは、基本的に下位互換性があるようにバージョンアップされます。そのため、バージョンアップをしても、ソースコードの変更をほとんど必要としません。(もちろん動作確認は必要です)
筆者のまわりでも、数万から数十万行のソースコードがある規模のシステムでも、バージョンアップの際に変更したコードは、ほんの数行という話も聞きます。
他のオープンソースのPHPやPythonなどでは、時折バージョンアップの際に、破壊的な変更が行われ、既存コードの大部分の修正が必要になることもあります。
この点については、下位互換でバージョンアップされるJavaの大きなメリットです。
まとめ
Javaのバージョンの確認方法や、Javaのサポートに関する情報を紹介してきました。
その中でも、Oracle Java11からは、商用利用する場合は有償になることに注意が必要です。システム開発でJavaを利用する場合は、これまでは無料であったJavaのライセンス費用について、ユーザーに負担してもらう必要があるため、事前に十分な説明をしましょう。