JavaVM
JavaVM(Java Virtual Machine; JVM、Java仮想マシン)
JavaバイトコードをCPUのネイティブコードにコンパイルして実行する形式
バイトコードはソースコードから中間表現(IR)にコンパイルされたものを仮想マシン(VM)が読み込むやつ
仮想スタックマシン
code:図.mermaid
%%{init:{'theme':'neutral'}}%%
flowchart LR
Aソースコード--->|コンパイラ|B"中間表現(IR)<br/><br/>(Javaバイトコード)"--->|"JITコンパイラ"|C"ネイティブコード(機械語)"
JavaVMは下記を見かけた
Hotspot
GraalVM
Java VMの実装は以下を見た方がよい
List of Java virtual machines - Wikipedia
Execution Engine
コード実行
Runtime Data Area
データ配置
Garbage Collector
ヒープメモリ管理
Class Loader
クラス読み込み
JVMランタイム
Java VMを使ったJavaではない言語はJVM言語
Java VMの仕様はこっち
→Java Virtual Machine Specification
参考
JavaVMとは?仕組みと構成やJavaVM環境で動く言語6つを紹介 | Javaコラム
Java仮想マシン - Wikipedia
Java仮想マシンの実装技術
関連
#アプリケーションレベル仮想化
#JITコンパイラ #仮想マシン(VM) #Java