はじめに
私はITスクールのRareTECHで学習しています。学習を開始して今日で4ヶ月がたちました、RareTECHではITの基礎となる学習ももちろんですが、講師から最新の情報を教えてもらえる場所でもあります。受講生同士でチームを組むハッカソンが年に4回あり、受講生同士で切磋琢磨し合える場所でもあります。
そんな中、私は自身の学習のためにJavaの学習を行っています。どの言語でも環境の構築が初学者にとって情報が多すぎて、非常に難しいことであると私自身の経験で思いました。
ここでは、Javaのローカル環境の構築 について確認していきます。
そもそもJavaってどんな言語?
Javaの特徴
- プラットフォームに依存しない
Java で作成したプログラムはどの OS(Operating System)上でも動作する。
そのため、プラットフォームごとの開発が不要になり、開発コストを削減できる。 - オブジェクト指向の言語である
Java はオブジェクト指向の言語である。オブジェクト指向のプログラムは、
既存モジュールの再利用や拡張が容易なため、プログラムの生産性と保守性が向上する。 - ネットワーク機能が充実している
Web サーバ上で実行する形式のプログラム(サーブレット)などを開発できる。
Javaでどうやって動くの?
Java のプログラムを動作させるには、JDK(Java Development Kit)、JRE(Java Runtime Environment)、JVM(Java Virtual Machine) の3つの要素が関わります。それぞれの役割を理解することで、Java の実行の仕組みを把握できます。
JVM(Java Virtual Machine)
JVM は Java のプログラムを実行するための仮想マシンです。
Java のソースコード(.java)は、コンパイルされて バイトコード(.class) という中間コードに変換されます。
JVM はこのバイトコードを解釈し、OS に適した機械語に変換して実行します。
この仕組みにより、Java は 「一度書けばどこでも動く」 という特長を持ちます。
JRE(Java Runtime Environment)
JRE は Java プログラムを 実行するための環境 です。
JVM に加えて、標準ライブラリ(Java の基本機能を提供するクラス群)や各種ツールが含まれています。
つまり、JRE がインストールされていれば Java アプリケーションを実行 できますが、開発はできません。
JDK(Java Development Kit)
JDK は Java で開発を行うための環境です。
JRE に加えて、Java のコンパイラ(javac) や、デバッガ、開発ツールが含まれています。
Java のプログラムを作成・コンパイル・実行するには JDK をインストール する必要があります。
Javaのプログラムの流れについて
プログラムの処理内容を、人間が理解しやすい形式で記述された文字列情報を、ソースコードと呼びます。ソースコードは、何らかのプログラミング言語によって記述され、テキストファイル(ソースファイル)として保存されます。プログラムを実行するためには、ソースコードを機械語(実行環境のOSやCPUが理解できる言語)に翻訳する必要があります。このように、ソースコードを機械語に翻訳するプロセスのことをコンパイルと呼びます。プログラムは、コンパイルされた機械語を実行することによって動作します。
実際のプログラムの流れ
1、ソースコードの作成(.java)
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
2、コンパイル(.class の生成)
javac HelloWorld.java
→ HelloWorld.class(バイトコード)が生成される
3、JVM による実行
java HelloWorld
→ Hello, World! が出力される
開発環境の選択肢
JDK の選択肢
現在、Java の JDK にはいくつかの選択肢があります。代表的なものを紹介します。
JDK の種類 | 特徴 |
---|---|
Oracle JDK | Oracle が提供。商用利用はライセンス制限あり。 |
OpenJDK | オープンソース版。ほぼ Oracle JDK と同じ。 |
Eclipse Temurin | OpenJDK ベースで、安定性とセキュリティが強化。 |
Amazon Corretto | AWS 向けに最適化された OpenJDK。 |
AdoptOpenJDK(旧) | Eclipse Temurin に引き継がれた。 |
なぜ Eclipse Temurin を選ぶのか?
Eclipse Temurin は、かつての AdoptOpenJDK を引き継ぎ、信頼性と安定性のある OpenJDK のディストリビューション です
- 無料で使える(Oracle JDK のような商用ライセンス制限なし)
- セキュリティパッチやバグ修正が迅速
- Windows / macOS / Linux など様々な OS で動作
- 公式の OpenJDK をベースにしているため、互換性が高い
そのため、多くの開発者や企業で 標準的な JDK として採用されています。
また、Homebrew を使った簡単なインストール も可能なため、初心者にもおすすめです。
Eclipse Temurin & Homebrew による環境構築手順
1. Homebrew をインストール(macOS のみ)
Homebrew は macOS でソフトウェアを簡単にインストールできるパッケージマネージャです。
もし Homebrew がインストールされていない場合、以下のコマンドをターミナルで実行してください。homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
インストール後、以下のコマンドで Homebrew の動作を確認できます。
brew --version
2. Eclipse Temurin のインストール
Eclipse Temurin は OpenJDK ベースの安定した Java 実行環境です。
Homebrew を使って簡単にインストールできます。
brew install --cask temurin
インストール完了後、以下のコマンドで Java のバージョンを確認してください。
java -version
出力例:
openjdk version "23.0.1" 2024-10-15
OpenJDK Runtime Environment Homebrew (build 23.0.1)
OpenJDK 64-Bit Server VM Homebrew (build 23.0.1, mixed mode, sharing)
このように Temurin の名前が表示されれば、正常にインストールされています。
3. 環境変数の設定(必要に応じて)
✅JAVA_HOME の設定が必要になるケース
Maven や Gradle などのツールが JAVA_HOME を参照する場合
複数の Java バージョンを切り替える必要がある場合
java や javac がターミナルで動作しない場合
通常、brew install --cask temurin でインストールすると JAVA_HOME の設定は不要ですが、
上記のようなケースでは手動で環境変数を設定する必要があります!
以下のコマンドを実行し、JAVA_HOME のパスを確認してください。
/usr/libexec/java_home
設定が必要な場合は、以下のコマンドを .zshrc や .bash_profile に追加します。
echo 'export JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshrc
source ~/.zshrc # または source ~/.bash_profile
設定後、echo $JAVA_HOME で正しくパスが表示されるか確認してください。
4. Java の動作確認
Java の動作確認のため、以下のシンプルなプログラムを作成し、実行してみましょう。
HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
コンパイル
javac HelloWorld.java
実行
java HelloWorld
出力:
Hello, World!
このメッセージが表示されれば、環境構築は完了です。
まとめ
初心者の方には非常に工程が多く感じる内容です。
難しい言葉もたくさんあると思います。
少しずつでいいので、慣れていきましょう。
最初は理解できなくて当たり前ですし、知らなくて当然です。
私は今でも分からないことが多く、日々学習しています。
最後に誤字脱字、解釈間違いなどございましたら、コメントなどで教えていただけましたら幸いです。