6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JVMとは 〜Javaのプログラムはなぜ動くのか〜

Last updated at Posted at 2023-11-29

はじめに

今回の記事では、JVMとJavaのプログラムが実行されるまでの一連の流れをまとめました。

JVMとは

JVM(Java Virtual Machine)とは、Java仮想マシンとも呼ばれ、Javaのプログラムを動かすために必要なソフトウェアです。JVMのおかげで、様々なOS上で簡単にJavaのプログラムを実行することができます。

JVMを理解するために必要な知識

コンパイラ

コンパイラは、ソースコード(.java file)をバイトコード(.class file)に変更します。そして、コンパイラはソースコードに構文エラーがないかをチェックします。エラーを発見した際には、コンパイルエラー(Compile Time Error)がスローされます。

バイトコード

コンパイルの結果生成されたコードで、JVMによって処理されます。
特定のコンピュータやOSに依存せず、仮想マシン上で実行するために生成された中間コードで、ソースコードと機械語の間に位置するコードです。

機械語

コンピュータが理解できるコードで、CPUによって処理されます。機械語は0と1の2進数で表現されます。

Javaのプログラムはなぜ動くのか

Javaのプログラムがコンパイルされると、バイトコードが生成されます。このバイトコードがJVMによって機械語に変換されます。そして、CPUがその機械語を処理することで、Javaのプログラムが実行されます。

なぜJVMが必要なのか

JVMはどんな環境でもJavaのプログラムを実行できるようにします。

例えば、MacOS上でJavaのプログラムを実行したいときはMacOS用のJVM、Linux上で実行したいときはLinux用のJVMというように、各OS用のJVMをシステムにインストールすることで、様々なOS上で同じJavaのプログラムを実行することができます。

このように、JVMがOSの違いを吸収することで、JavaをMacOS、Linux、Windowsなど様々なOS上で実行することができます。

一度コンパイルされたJavaのプログラム(バイトコード)は、様々なOS上で実行可能です。それは、各システム用のJVMが、そのバイトコードを各システム用の機械語に変換するからです。

図解してみる

スクリーンショット 2023-11-29 13.02.53.png

参考文献

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?