Java SEはJavaの基盤技術
Javaは、基幹システムからデスクトップアプリケーション、Webアプリケーションなど幅広く使われるプログラミング言語です。規模も小規模なものから大規模な開発まで対応可能で、多くの開発現場で使われています。
Java SEは、このJavaによるアプリケーション開発における必須の基盤として位置付けられている標準APIです。
この記事では、Java SEについて知りたい方のために、Java SEの概要やJavaの特徴、Java EE、JRE、JDK、JVMとの違いを解説します。
また、Java SEを活用する上で知っておきたいOracle SEのライセンスに関する情報についても説明します。
Java SEとは
まずJava SEの概要について説明した後、Java SEが具体的にどのような開発現場で使われるのか解説していきましょう。
Java SEの概要
Java SE(Java Platform, Standard Edition)は、Javaプログラミング言語の標準APIです。Javaの基本的な機能をまとめたもので、Javaでアプリケーション開発を行う際の基盤となる部分を提供しています。
具体的には、文字列操作を行うStringクラスや日付操作を行うDateクラスなど、基本的なクラスとインタフェースが含まれています。
こうしたクラスやインタフェースを利用することで、Javaアプリケーションの基本的な機能を実装することができます。
Java SEは定期的にバージョンアップされており、主要なバージョンとしてはJava SE 8、Java SE 11、Java SE 17、Java SE 21などがあります。バージョン番号によって、含まれる機能などが異なります。
Java SEはどのようなときに使うのか
Java SEは、基幹システムからパソコンで使用するアプリケーションまで、多様なソフトウェア開発で使用されます。
ゲームアプリやユーティリティアプリなど、パソコンやスマートフォンで動作するアプリをJavaで開発する際には、Java SEの機能が活用されます。
特にAndroidネイティブアプリの開発で使用するAndroid Studioでは、Javaの知識が必須です。Androidアプリを行うときは、Java SEの機能やクラスを利用してアプリの基本機能を実装していきます。
Javaとは
Java SEが基盤となっているJavaとはどのようなプログラミング言語なのでしょうか。Javaは、1995年にサン・マイクロシステムズによって開発されたオブジェクト指向を代表する言語です。 ここでは、Javaの特徴や利用メリットについて説明していきます。
Javaの特徴
Javaは、広範囲なアプリケーション開発に使用される汎用プログラミング言語で、多くの開発現場で使用されています。
Javaの特徴は、1度コンパイルされたプログラムがプラットフォームに依存せず、OSやハードウェアに関係なく実行できる点です。
Javaで書かれたソースコードはバイトコードにコンパイルされ、Java仮想マシン(JVM)上で実行されます。JVMはOSごとに実装されているため、異なるOSで動作するアプリケーションの開発が可能です。
Javaを利用するメリット
Javaを利用する大きなメリットは、OSを問わず実行できるクロスプラットフォーム性です。Windows・Mac・Linuxといった主要なOSだけでなく、スマートフォンを含む様々なデバイスでJavaアプリケーションを動作させることができます。
ハードウェアにも依存しないため、組み込みシステムからサーバ、デスクトップアプリなど、利用できる分野は非常に広いといえます。
また、Javaはメモリ安全性や例外処理機構など、信頼性とセキュリティーに関する様々な安全機能を備えています。
豊富な標準API群や自動メモリ管理機能を持ち、プログラミングしやすい環境も整っており、多くの開発者に支持されています。
Java SEとJava EE、JRE、JDK、JVMの違いとは
Java開発・実行に関わる要素には、Java SE以外にも様々な技術用語があります。
ここでは、Java開発環境の主な構成要素であるJava SE、Java EE、JRE、JDK、JVMについて説明します。しっかりと違いを押さえておきましょう。
Java SEとJava EEの違い
Java SEは、Javaの基本となるAPIがまとめられたもので、主にデスクトップアプリケーションや小規模なアプリの開発に利用されます。
一方、Java EE(Java Platform, Enterprise Edition)は、Java SEに大規模システム向けの機能を追加したもので、WebサイトやWebアプリケーションなどの企業向けシステム開発に必要なAPIが含まれています。
Java EEはJava SEの上に構築されており、Java EEを利用する場合はJava SEも併用します。
Java EEにはServletやJSP、EJBなどのWebサーバと連携するためのAPIがあり、これによりJava言語でのWebアプリケーション開発が可能です。
つまりJava SEはJavaの基本であり、Java EEはその基本の上に企業システム開発向けの機能を追加したものです。用途に応じて使い分けることが重要です。
Java JREとは
Java Runtime Environment(JRE)は、Javaで作成されたプログラムを実行するための基本ソフトウェアパッケージです。
JREにはJava仮想マシン(JVM)とJavaプログラムの実行に必要なクラスライブラリやAPIが含まれます。
JVMはプラットフォームに依存しない仮想のコンピュータで、Javaのプログラムはこの上で実行されます。JREを利用者のOSにインストールすると、Javaアプリを実行できる環境を整えることができます。
JREのバージョンは対応するJava SEのバージョンと合わせて付与されます。以前はJREだけをインストールできましたが、現在はJDKに含まれる形で提供されます。
Java JDKとは
Java Development Kit(JDK)は、Javaアプリケーションの開発や実行に必要なプログラムをまとめたものです。
JDKにはJava SEやJREも含まれています。他にもJavaで作成したプログラムをコンパイルしたりデバッグしたりするためのプログラムなどが含まれており、JDKをインストールすれば、アプリケーションの開発から実行、デバッグまで一通り行うことができます。
JVMとは
JVM(Java Virtual Machine)は、OS上でJavaバイトコードを実行する役割を持っており、Java仮想マシンとも呼ばれます。
Javaで書かれたソースコードは1度コンパイルされ、OSとは独立したバイトコードが生成されます。このバイトコードを実行するのがJVMの役割です。JVMは、Windows版JVM、Linux版JVMのように、OSごとに実装されています。
JVMがあることで、バイトコードはOSを問わずに実行可能となり、プログラマーは1度Javaのコードを書けば、Windows、Mac、LinuxなどさまざまなOSで実行可能なアプリを開発できるのです。
Java SEの使い方
それでは、Java SEを使うにはどうすればよいのでしょうか。ここでは、Java SEをインストールするための情報と、インストール後のバージョン確認の方法について説明します。
Javaのインストール方法
Java SEを使用してJavaアプリケーションの開発や実行を行うには、JDKのインストールが必要です。JDKは、Windows、Linux、macOSなどの環境にインストールできます。
OSによってインストールの要件や手順が異なりますので、Oracle JDKの公式サイトを参照してインストールを行いましょう。
【参考】:JDKインストレーション・ガイド 【参考】:Java Downloads
java seのバージョン確認
Javaをインストールしたら、バージョンを確認しましょう。
Windowsの場合は、スタートメニューからJavaコントロールパネルを開き、プログラムの一覧から「Java」の中の「Javaについて」をクリックすると、現在のJavaのバージョンが表示されます。
また、Javaコントロールパネルを直接開いてバージョンを確認することもできます。
WindowsではWindowsコントロールパネルの中の「プログラム」から「Java」アイコンをクリックします。Javaコントロールパネルを開き「バージョン情報」タブをクリックすると、Javaの正式なバージョン名を確認できます。
コマンドプロンプトやターミナルでJavaコマンドを実行して確認することもできます。Windowsであればコマンドプロンプト、MacやLinuxであればターミナルを開き、「java -version」コマンドを実行すると、Javaのバージョンが表示されます。
Java SEのライセンスについて
Java SEを利用する場合に気を付けたいのが、Oracle JDKのライセンスです。ここでは、Oracle SEのライセンスと、2017年に発表されたOracle JDKのライセンス変更について解説していきます。
Oracle SEのライセンスとは
Oracle JDKは、Oracle社とのサポート契約が必要な有償のJDKです。有償版ですが、Oracle社からの長期間のサポートを受けられる大きなメリットがあります。
ただし、Oracle JDK 11、Oracle JDK Java 8、Oracle JRE with Java Web Start in Java 8は、OTNライセンスに基づいて、個人的な仕様においては無償で使用できます。
商用ライセンスとサポートが必要な場合は、有償のOracle Java SE Universal Subscriptionを取得する必要があります。
【参考】:Oracle Java SEライセンスに関するFAQ
Oracle JDKのライセンス変更とは
Oracle社は2017年の新しいリリースサイクルを発表しました。6カ月に1回のフィーチャ-・リリースで新機能の追加や機能変更を行った新たなバージョンをリリースするものです。
また、各フィーチャー・リリースに対して脆弱性対策などを目的とした2回のアップデート・リリースを行うとしています。
フィーチャ-・リリース後6カ月はOpenJDKバイナリを提供し、フィーチャ-・リリースを定期的に適用することで、JDKを無償で安全に使用し続けることができます。
一方、ユーザの環境によってリリースサイクルに合わせたアップグレードができない場合は、特定バージョンのJDKを有償サポートのもとで安全に使い続けることができます。
このリリースサイクル変更は、Javaの有償化と話題になりましたが、JavaやJDK自体が完全に有償化されたわけではありません。今でもJavaは無償で利用でき、オープンソースの位置づけに変わりはありません。
ただし、信頼性とサポート面でメリットの大きいOracle JDKを商用製品で利用する場合には、有償のライセンス契約が必要であるということになります。
【参考】:JDKの新しいリリース・モデル および提供ライセンスについて
Java SEの使い方を理解してプログラマーとして活躍しよう
ここまでの説明で、Java SEはJavaアプリケーション開発の基盤となる重要な技術であることが分かったと思います。
Java SEを活用してJava開発を行うことで、クロスプラットフォーム性というJavaの大きなメリットを生かすことができ、OSを問わずにアプリを実行できます。
Java SEについて学び、基幹システムからWebアプリケーションまで幅広い開発現場で活用されるJavaを活用して、プログラマーとして活躍しましょう。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから