TL;DR

プログラミング言語であり、同時にプラットフォームでもある技術である。ソースコードはバイトコードにコンパイルされ、Java 仮想マシン(JVM)の上で動く。

なぜ必要か

JVM は多くの OS で動くので、同じ .class ファイルを Windows、Linux、macOS などでそのまま実行できる。JVM の上では、Kotlin、Clojure、Scala のような Java 以外の言語も動く。

仕組み

ソースコードは拡張子 .java のテキストファイルに書き、javac コンパイラで .class ファイルにコンパイルする。.class ファイルには、CPU 固有のコードではなく、JVM の機械語であるバイトコードが入っている。java ランチャーが JVM のインスタンスを起動して、アプリケーションを実行する。

Java プラットフォームは、JVM と Java API(Java Application Programming Interface)の 2 つから成る。

例

Main.java をコンパイルして実行する場合は、次のようになる。

javac Main.java
java Main

関連

出典