Javaという言語を知る
Javaとは
Javaは1995年に登場した、世界で最も広く使われているプログラミング言語のひとつです。銀行や官公庁の大規模システム、Webサービスのサーバーサイド、Androidアプリなど、「壊れては困る大きなシステム」の中核で長年使われ続けています。皆さんが最終的に学びたいSpring BootのようなWebフレームワークも、Javaの文法・オブジェクト指向の知識を土台にしています。
Javaの最大の特徴 — 「一度書けば、どこでも動く」
Javaのソースコード(.javaファイル)は、コンパイラ(javac)によってバイトコード(.classファイル)という中間形式に変換されます。バイトコードはOSが直接実行するのではなく、JVM(Java Virtual Machine:Java仮想マシン)という「通訳役」のソフトウェアが実行します。
Windows用・Mac用・Linux用のJVMがそれぞれ用意されているため、開発者は同じ.classファイルをどのOSでも動かせます。これが有名なスローガン “Write Once, Run Anywhere”(一度書けば、どこでも動く) の意味です。
JDK・JRE・JVMの関係
Javaの学習を始めると、よく似た3つの用語が出てきます。関係は「入れ子」になっていると覚えてください。
- JVM … バイトコードを実行する仮想マシン本体。
- JRE(Java Runtime Environment)… JVM+実行に必要な標準ライブラリ。動かすための環境。
- JDK(Java Development Kit)… JRE+コンパイラ(javac)などの開発ツール。開発するための環境。開発者がインストールするのはこれです。
- Javaは「コンパイル → バイトコード → JVMが実行」という2段階で動く。
- 開発者がインストールするのはJDK。JREとJVMはその中に含まれる。
- JDKには複数の配布元(Oracle JDK、Eclipse Temurinなど)があるが、中身の仕様は共通。学習にはLTS(長期サポート)版のJDK 21がおすすめ。
Javaのソースコードをコンパイルすると生成されるファイルの拡張子は何ですか。また、そのファイルを実行するソフトウェアの名前は何ですか。
答えを見る
拡張子は .class(バイトコード)。それを実行するのは JVM(Java仮想マシン) です。
「Write Once, Run Anywhere」が実現できる理由を、「バイトコード」「JVM」という2つの言葉を使って説明してください。
答えを見る
JavaのプログラムはOSごとに変換されるのではなく、共通のバイトコードにコンパイルされる。各OSにはそのOS用のJVMが用意されており、JVMがバイトコードを解釈・実行するため、同じバイトコードがOSを問わず動作する。
JDK・JRE・JVMを「含んでいる範囲が大きい順」に並べてください。また、Javaで開発を行う人がインストールすべきものはどれですか。
答えを見る
大きい順に JDK ⊃ JRE ⊃ JVM。開発者がインストールするのはJDK(コンパイラなどの開発ツールを含むため)。