LoginSignup
0
0

More than 3 years have passed since last update.

バイトコードと仮想マシーン

Last updated at Posted at 2021-01-16

バイトコードと仮想マシーン

WindowsやmacOSなどのPC向けプログラムはスパコンでは動かない

パソコンとスパコンでは、CPUが理解できる命令(マシン語)が異なるから
しかし、Javaで開発したプログラムはPCでもスパコンでも同様に動く

これは、Javaコンパイラから出力されるバイトコードが特定のCPUに依存しない凡用的なマシン語であるため

Windows用のマシン語にスパコンで実行する場合にはスパコン用のマシン語に変換される

PCやスパコン中にある
「凡用マシン語を理解するコンピューター」がバイトコードを実行しているように見える

これが「Java仮想マシン(JVM)」という名前の由来

スパコン

一般的なコンピュータでは解くことが困難な大規模で高度な科学技術計算を高速に行うことができ、主に研究機関や企業などで使われている

パソコンの数十万倍の速度での計算処理を可能とする高性能なコンピューターのこと

バイトコード

Javaの仮想マシンのために用いられる実行可能なプログラムとしてのバイナリデータ
機械語ではなく、中間コードに分類

開発の流れで理解

コンパイル
- ソースコードはそのままでは実行できない
- コンパイルという処理を行い、ソースファイルをクラスファイルに変換する「.class」
- ソースコードの各命令をコンピューターが実行しやすいように変換したバイトコードというものが中に詰まっている
- コンパイルはコンパイラというソフトウェアを用いて誤りがあればコンパイルが失敗し誤りの箇所が指摘される

実行
- バイトコードはソースコードに比べ実行に適しているが、実行はできない
- インタリプタと呼ばれるソフトウェアに対してバイトコードの変換実行を依頼する
- インタリプタは内部にJVMという仕組みを持っていて結果としてコンピューターはソースコードで支持した通りに動作する
0
0
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
0
0