バイトコード

バイトコードは、ソフトウェアのインタープリター向けに設計された低水準コードに、ソースコードからコンパイルされたプログラムコードです。仮想マシン(JVMなど)で実行することも、プロセッサが認識できるマシンコードにさらにコンパイルすることもできます。

バイトコードの種類ごとに異なる構文が使われ、対応する仮想マシンで読み取って実行できます。代表的な例がJavaバイトコードです。これはJavaのソースコードからコンパイルされ、Java仮想マシン(JVM)で実行できます。以下はJavaバイトコード命令の例です。

  • new(新しいオブジェクトを作成)
  • aload_0(参照を読み込む)
  • istore(整数値を格納)
  • ladd(long値を加算)
  • swap(2つの値を入れ替える)
  • areturn(関数から値を返す)

バイトコードを直接書くこともできますが、Javaなどの高水準言語でコードを書くよりはるかに困難です。そのため、Javaの.CLASSファイルなどのバイトコードファイルは、通常、javacなどのコンパイラーを使ってソースコードから生成されます。

バイトコードとアセンブリ言語の違い

バイトコードはアセンブリ言語と同様に高水準言語ではありませんが、マシン語とは異なり、ある程度読みやすいものです。どちらも、ソースコードとマシンコードの間に位置する「中間言語」と考えることができます。主な違いは、バイトコードが仮想マシン(ソフトウェア)向けに生成されるのに対し、アセンブリ言語はCPU(ハードウェア)向けに作成される点です。

更新日 January 23, 2018 著者: Per C.

quiz知識をテストする

What type of message notifies an app that it must access data from virtual memory?

A
Page fault
0%
B
Syntax error
0%
C
Illegal operation
0%
D
Interrupt request
0%
Correct! Incorrect!     View the Page Fault definition.
More Quizzes →

Tech Terms コンピューター辞書

このページのバイトコードの定義は、TechTerms.comの著者が執筆したオリジナルの定義です。このページを参照または引用する場合は、定義の直下にある緑色の引用バーをご利用ください。

私たちの目標は、コンピューター用語をわかりやすく説明することです。すべての定義において正確さとわかりやすさを追求しています。フィードバックや新しい技術用語の提案がある場合は、お問い合わせください

Tech Terms ニュースレター

毎日または毎週のニュースレターで技術知識を高めましょう!今すぐ購読して、新しい用語やクイズをメールでお受け取りください。

無料のTechTermsニュースレターに登録する

メールの受信頻度を選択してください

各メールのリンクから、いつでも登録解除または頻度変更ができます。 ご質問はこちらからお問い合わせください。

注意:ニュースレターは英語で配信されます。