Java入門 / Java環境構築

【Java入門】第2回 Javaの開発環境を作る前に

2024.05.24

どれをインストールすれば良いの?

Javaをインストールしてプログラミングの環境を作成する前に、Javaの環境、エディションについて簡単に説明します。

JVM?JRE?JDK?

Javaの入門書や入門サイトでは「JVM」「JRE」「JDK」といった単語を良く見かけると思います。
似たような単語で、当サイトでも今後も出てくる言葉ですが、詳細を説明すると長くなってしまいますので、いまのところは以下のような感じにざっくりと理解してもらえればOKです。

JVM(Java Virtual Machine)
「Java仮想マシン」とも呼ばれ、Javaで作られたプログラムを実際に動かすためのソフトウェアです。
Windows、Mac OS、Linuxといった様々なOS上でJavaが動作できるのは、このJVMの働きで実現されています。

・JRE (Java Runtime Environment)
「Java実行環境」とも呼ばれ、Javaで作られたプログラムを動作させるための環境(ファイルやプログラム)が、一通りセットになっているものと思ってOKです。
JREインストール時にはJVMが含まれます。

・JDK(Java Development Kit)
直訳で「Java開発キット」の名前の通り、Javaのプログラムを開発するためのセットです。
JDKには付属のJREが含まれているので「とにかくJavaのプログラムを作ってみたい!」という時はJDKをインストールしましょう。

Javaのエディション

Javaには以下の3つのエディションが存在しています。

・Java SE(Java Standard Edition)
Javaのプログラムや動作環境の、基礎となる機能(プログラム、ファイルなど)がまとめられたもの。
Standard Editionの名の通り、一般的にJavaと言った場合はこれを指していることが多いです。
当記事でもこのJava SEをインストールしていきます。

・Java EE(Java Enterprise Edition)
主にWebアプリケーション開発に利用するサーバー機能など、Java SEに拡張機能を追加したもの。
Javaで実装されたアプリケーションサーバの標準規格として準備されており、大規模開発でも良く利用されます。

・Java ME(Java Micro Edition)
携帯電話や家電など、小型の機器上でJavaアプリケーションを実行するためのエディションで、
メモリ容量が小さな機器やCPU処理能力が低い環境でも動作できるように軽量化されたもの。
(いわゆる「ガラケー」のアプリも、かつてはこのJava MEでよく作られていました)

Javaのバージョン

Javaは継続的なアップデートが繰り返されており、2024年3月時点の最新版はJava SE 22となっています。
当サイトでは、2024年4月時点で最新のLTSバージョン(※)であるJava SE 21の開発環境を作成してみます。

(※)LTSとは?

Javaに限らず、プログラム言語やOSはバージョンアップが繰り返されますが、
これらのバージョンには「LTS」と記載されているものと、そうでないものがあります。
   
LTSとは「Long Term Support」(長期サポート)の略で、いくつかのバージョンごとに設定され、その間のバージョンよりもセキュリティパッチなどのサポートが長く提供されるものを指します。

Javaのバージョンとサポート期間
https://www.oracle.com/jp/java/technologies/java-se-support-roadmap.html

Ubuntu(Linuxのディストリビューションの1つ)のバージョンとサポート期間
https://wiki.ubuntu.com/Releases

JDKの種類

JDKにはいくつかの種類があります。

・Oracle JDK
Oracleが提供する正式版(製品版)のJDKです。
Java9以降は有償ライセンスが必要となっていましたが、Java17以降のLTSでは、期限付きで(次のLTSバージョンがリリースされてから1年後まで)利用可能となりました。
有償サポートの場合は、メンテナンス等のサポート期間が延長されます。
※参考:Oracle HP - Introducing the Free Java License

・OpenJDK
Javaのオープンソース開発キットです。
Microsoft、Amazon、RedHatといった各社がビルド(※)したものを配布しており、一部を除き無償で利用が可能です。
azure(Microsoft)やAWS(Amazon)といったクラウドサービスの提供者や、OSの提供者であるRedHatなど、各社が提供サービス上での動作を保証するものとして配布していることが多いようです。

また、OracleもOpenJDKを配布しており、OpenJDKの公式サイトではこのOracleがビルドしたものがダウンロードできます。

(※)ビルドとは?

ソースコードから実行可能なプログラムを生成することを指します。
(JDKのビルドの場合は、JDKの中に含まれる各種プログラムやファイルを実際に作成して、ひとまとめにすることを指します)

次回の記事では、JDKのダウンロード方法、インストール手順までを説明したいと思います。

株式会社GSI 採用サイト