Javaについて初めに出てきたよくわかんない用語
JavaSE(=JDK)
Java Platform Standard Edition (Java Development Kit)の略。
Javaの開発を実行に関する必要なプログラムがすべてまとめられている。
この中にJREも含まれている。
JRE
Java Runtime Environmentの略。
Javaのプログラムを実行するために最低限必要なソフトをまとめたもの。
JavaEE
Java2 Platform Enterprise Editionの略。
JavaSEにサーバー関係のライブラリを追加したもの。ベースはJavaSE。
JavaSEもJavaEEもAPIの集まり=ライブラリ
だから、public static void main
とか打っても動いてくれる。
JVM
Javaの仮装環境。
メイン環境(Linux, OSとか)の上にJVMが乗っかって動く感じ。
javaを実行した時には、
java -> コンパイラ -> JVM -> OS
の順で実行される。
JVMを挟むことによって、java側は何のOSかを気にすることなく済む。
これによってJavaは色々な環境で動く。(Write Once, Run Anywhere)
プログラムの実行形式
インタプリンタ型
実行するたびに、毎回ソースコードを読んで翻訳する。
同時通訳的な。
ソースコード → インタプリンタ → CPU
実行
実行前にソースコードを翻訳して、実行形式プロブラムを作成する。
ソースコード → コンパイラ → 実行形式プログラム → CPU
コンパイル 実行
これがJavaのプログラム実行形式。
インタプリンタとコンパイラの両方の仕組みを取り入れたもの。
実行前にソースコードを翻訳(コンパイル)して、バイトコードプログラム(ソフト)を作成する。
実行時にランタイムがそれを機械語に翻訳する。
ソースコード → コンパイラ → バイトコード → ランタイム → CPU
コンパイル 実行