このページではJava開発・Javaの学習を始めようとしている方に、Javaの開発環境構築(Javaのプログラミングを実行できる環境の構築)の手順を1からわかりやすく解説します。
ただ単に構築するだけではなく、その途中途中でJava開発において最低限知っておかなくてはならない基本用語(JDK、JRE、コンパイル、etc)についても合わせてご説明しますので、是非最後までご覧ください。
このページで紹介する内容はざっくり↑の3ステップ。早速解説を始めます!
ステップ1:Java Development Kit (JDK) のインストール
最初のステップはJDKのインストール作業です。
JDKが無いとあなたのPCでJavaを書いてそれを実行することはできません。ここでは「そもそもJDKって何?」について解説しつつ。あなたのPCにJDKをインストールする方法をご説明します。
ポイント JDKのインストール手順
- Windowsの場合:
- Oracleの公式サイトからJDKをダウンロード。
- ダウンロードしたファイルを開いて、画面の指示に従ってインストール。
- インストール後環境変数の設定を実施。システムの「環境変数」設定→「新規作成」で
JAVA_HOME
を追加し、JDKがインストールされたフォルダを指定。また、「Path」変数に%JAVA_HOME%\bin
を追加。
- Macの場合:
- Oracleの公式サイトからMac用のインストーラをダウンロードして実行。
- Macの場合インストールが完了した後は、通常は特別な設定をする必要はなし。
JDKとは?
JDKとは「Java Development Kit」の略で、その名の通り「Javaを開発するためのツール」のこと。主に以下の3つの機能が含まれるツールで、これをPCにインストールすることでJavaの開発~実行までを行うことができるようになるという仕組みです。
- Javaコンパイラ (
javac
) - Java仮想マシン (JVM)
- Javaランタイム環境 (JRE)
せっかくなので、上記3つのツールの役割について深堀して解説しておきます。
1.Javaコンパイラ (javac
)
JavaコンパイラはJavaのプログラミング言語で書かれたコード(ソースコード)を、コンピュータが理解できる形式(バイトコード)に変換する役割を担っています。
要は、人間が理解しやすい形で書かれた内容(ソースコード)を、コンピューターが理解できる形(バイトコード)に変換するということ。
Javaコンパイラはバイトコードを生成する際、単にソースコードを機械が理解できる形に変換するだけではなく、様々な最適化(プログラムの実行速度が向上させる / メモリ使用量を減少させる)を行います。またコンパイル中に発生するエラー内容(型の不一致、未使用の変数、非推奨のメソッドの使用など)の詳細を表示するなど、プログラムの品質を向上させるような役割も担います。
要するにJavaコンパイラは、単なるコンパイル(ソースコード→バイトコード変換)だけではなく、諸々の最適化も行っている!というのがJavaコンパイラの特徴です。
2.Java仮想マシン (JVM)
JVMは「Java Virtual Machine」の略で、直訳して「Javaの仮想マシン」となります。Javaコンパイラ(javac
)によって生成されたバイトコードは、実は完全な機械語ではなくJVMが理解できる中間言語という位置づけ。JVMはこのバイトコードを読み込み、それを実際のマシンコードに変換して、コンピュータ上で実行します。
JVMが存在するおかげで、Javaプログラムは「一度書けば、どこでも動く」という特性を持っています。どういうことかというと、つまり異なるOS(Windows、macOS、Linuxなど)でも、JVMがあるおかげで同じJavaプログラムが問題なく動作するということです。
他のプログラミング言語、特にネイティブコードにコンパイルされる言語(CやC++など)では、異なるOSごとに異なるバイナリを作成する必要があります。これは、各OSが異なるAPIやシステムコールを持っているため、例えばWindows用にコンパイルしたコードをLinux上でそのまま動かすことはできません。が、JavaはこのJVMのおかげでどこでも動かすことが可能になるという仕組み。
この仕組みが存在がJavaが様々な現場で活用されることになる1つの要因だと考えられます。
JVMの動作原理はざっくり以下の通り。「なんとなくの理解」でいいので頭に入れておくとGood!
ポイント JVMの動作
- ロード
- 必要なJavaクラス(バイトコード)をメモリに読み込む。
- 検証
- 読み込まれたバイトコードが適切で安全であることを確認。
- 実行
- 読み込まれたバイトコードを実行。もしくは、より高速な実行のためにネイティブマシンコードにさらにコンパイルする。
3.Javaランタイム環境 (JRE)
JREは「Java Runtime Environment」の略。直訳すると「Java実行環境」となります。
このJava実行環境は、開発されたJavaプログラムを実際にPC上で実行するために必要な全ての機能(以下ポイント「JREの構成」を参照)を提供します。要するに、JREはエンドユーザー(プログラムを使用する人)やシステムにとって必須のもので、Javaで開発されたアプリケーションやWebアプリケーションを動かすために使われるもの!と覚えておきましょう。
ポイント JREの構成
- Java Virtual Machine(JVM)
- Javaプログラムを実行するための仮想マシン
- Javaプラットフォームライブラリ
- ユーザーインターフェースツールキット
- GUIアプリケーションを開発するためのツールキット(SwingやJavaFXなど)
- JavaプラグインとWeb Start
- ブラウザ内でJavaアプリケーションを実行するためのコンポーネント
Javaプログラムを「実行」するだけならJREがあればOK。「開発」するためにはJDKも必要になる、と覚えておきましょう。
JREはJavaアプリケーションを実行するための環境で、Javaが「どこでも実行できる」言語として機能するための核となる部分。JREがインストールされている限り、Javaで書かれたアプリケーションはプラットフォームに依存せずに実行できるため、ソフトウェア開発者は異なるプラットフォームに対して個別にアプリケーションを開発する必要がありません。
まとめ ステップ1のまとめ
コンポーネント | 説明 | 主要な機能 |
---|---|---|
Javaコンパイラ (javac) | Javaソースコードをバイトコードに変換するツール | - ソースコードの文法チェック - バイトコードへの変換 - エラー報告 |
JVM (Java仮想マシン) | Javaバイトコードを実行するための仮想マシン | - バイトコードの実行 - メモリ管理 - システムリソースとのインタフェース提供 |
JRE (Javaランタイム環境) | Javaアプリケーションを実行するために必要なソフトウェア環境 | - Javaプログラムの実行支援 - 標準クラスライブラリの提供 - JVMの実装 |
ステップ2:インストールの確認テスト
ステップ1が完了したらJDKのインストールが正常に完了したかを確認します。コマンドプロンプト(Windows)またはターミナル(Mac)を開いて、以下のコマンドを入力します。
java -version
このコマンドを実行したときに、以下のようなインストールしたJavaのバージョン情報が表示されれば環境構築は成功です。
java version "1.8.0_271" Java(TM) SE Runtime Environment (build 1.8.0_271-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
ステップ3:コーディング環境の設定
最後のステップはJavaでテストプログラムを書き、実行するために必要なツールやソフトウェアをコンピュータにセットアップしていく手順になります。Javaのコーディングを始めるためには、テキストエディタか統合開発環境(IDE)が必要となるので以下のようなIDEをインストールしましょう。
- Eclipseのインストール
- IntelliJ IDEAのインストール
- VSCodeのインストール
インストールが完了したら、早速簡単なJavaプログラムを作成してみたいと思います。以下のサンプルコードをコピーして、ファイルに.java
拡張子を付けて保存します(例えば、HelloWorld.java
のようなファイル名)。
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
保存したJavaファイルはIDE上から直接実行することができます。もしくは、コマンドプロンプト / ターミナルを開いてjavac HelloWorld.java
と入力しコンパイル→java HelloWorld
と入力して実行することもできます。
この結果、画面上に「"Hello, World!」が表示されればこれでJavaで開発→Javaの実行をする準備が完了です。
それでは、続けてJavaの基本的な構文ルール(プログラムの書き方)を勉強していきましょう!