naoppy-jyokenの日記

Javaで競プロをするぞ、NITAC情研用

Java入門3

今日の目標

プログラミングにおいて汎用的に使う用語について知る。

今回学ぶ用語はどれも非常に重要です。

開発の流れ

Javaでの開発の流れを示します。

  1. ソースコードの作成
  2. コンパイル
  3. 実行

では、詳しく解説していきます。

ソースコードの作成

Javaの文法に従ってプログラムを書いていきます。 人が読める状態のプログラムをソースコードといいます。

コンパイル

私たちが書いたソースコードは、そのままではコンピュータの心臓であるCPUは理解できません。 そのため、CPUがわかる形式に変換してやる必要があります。この作業をコンパイルといいます。

CPUはマシン語と呼ばれる言葉で書かれたプログラムしか理解できないのです。

そこでいきなりソースコードからマシン語に変換しても良いのですが、Javaではまず、バイトコードと呼ばれる形式に変換を行います。 この変換をするソフトフェアのことをコンパイラといいます。

また、コンパイルする際にソースコードの文法チェックが行われます。

実行

無事にコンパイルに成功すれば、次はインタプリタと呼ばれるソフトフェアに実行を指示します。

インタプリタは内部にJVM(Java Virtual Machine)という仕組みをもっており、バイトコードを少しずつ読みながらマシン語へと翻訳してCPUに送ります

まとめ

私たちが書いたソースコードコンパイラによってバイトコードコンパイルされる。 バイトコードインタプリタの内部のJVMによって少しずつ読みながらマシン語に変換されて実行される。

ソースコードが2回の変換を通している。 ソースコードバイトコードに一気に変換されるが、バイトコードマシン語に変換されながら実行されるという違いがある。

余談

Java入門2にてCode, Compile & Run | CodeChefを使ったときはこれらのことを考えず、ソースコードを書いてRUNを押せば実行できました。 しかし、このサイトの裏では私たちの書いたソースコードコンパイルされ、JVMによって実行されています。