2018 8/10 PM7:10公開

Pythonから始めた人間には分かりにくい概念であるのが"コンパイル"です。

Javaの特徴の1つに"どの環境でも動く"というものがあります。それを支えているのが先程の"コンパイル"です。

C言語など他の言語のコンパイルは大方違うイメージにはなると思います。(推測ですが…)
とりあえず、Javaのコンパイルについて、とある記事を参考にさせていただきました。




(Java)コンパイルとは?
<超簡単解説>
世界をイメージしてほしい。
例えば日本語からドイツ語に翻訳するとするだろう?
Javaは、その時に1回英語に翻訳するんだ。
その"英語に翻訳する"のがJavaのコンパイル。



<解説>
JavaやPythonなどのソースコードを書く言語はプログラミング言語と呼ばれる。
そして、MacやWindowsは1つのプログラミング言語で動く。

Javaは"どんな環境でも動く"必要がある為、どのコンピューターでも動く中間言語に翻訳する。その時の作業の事をコンパイルという。

コンパイルした後はそれぞれのコンピューターにインストールされたJavaの仮想マシンが、それぞれの環境でJavaのコードを実行させる。





Java実行までの流れ

①ソースコードを書く
②コンパイルする(中間言語に訳す)
③コンパイルしたものをJavaの仮想マシンが処理
④Javaの仮想マシンがそれぞれの環境で実行させる。





↓参考記事↓