- Javaの中間表現
- コンパイルしたら生成されるもの
- 1996にリリース
- Write Once, Run AnyWhere
- アプリケーションが仮想マシン上で実行されるからOSに依存しない
javac
とはコマンドで作成されたクラスファイルを実行するコマンド- 独自の命名セットを持つ
- LinuxやMacOS、Windowsなどで動作する
特定の環境に依存しない為のデータ構想
- 抽象構文木
- 高級言語っぽい形(TypeScriptからJavaScriptにコンパイル)
- 低級言語っぽい形(Wasm、バイトコードなど)
あらかじめ中間表現にしておいて、そこからプラットフォーム依存形式に変換すると効率が良い
命令セットとは
- マシンに伝える命令の語彙
- ロードおよびストア、計算、オペランドストックなど
- JVNのことがわかる
- スタックマシンの動作原理に触れられる
- Javaのクラスファイルをロード時に書き換えることができる
- マイクラのMOD作成
- Kotlin
- Scala
- Clojure
javac
コマンドでコンパイル
javac ファイル名
java
コマンドで実行
java クラスファイル名(拡張子なし)
javap
コマンドで確認
javap -v クラスファイル名