JVMの概念
- JVMが短いために、Java仮想マシンです。Java仮想マシンが意味しています。
- Javaのバイトコード命令セットのJVMソフトウェアエミュレーション。
仕様
Java言語仕様
- 構文
のif-else-他の場合、および機能の構文ので、 - 字句
ラインターミネータ、空白、コメント、識別子、キーワードなど - Javaのメモリモデル
- クラスのロードプロセスが接続されています
- 異常な
- ...
JVM仕様
メインクラスファイルは、バイナリJVMとJVMの命令セットを定義します。など、Java言語およびJVMは比較的独立して、Groovyの、Clojureは、Scalaは、またJVMで実行することができます。
- クラスファイル形式
- およびデジタル内部表現を格納する
バイト-128〜127(-27〜27 - 1) - RETURNADDRESSデータ型定義
ポインタ操作コード。Javaは実行時に変更することができないデータ型に対応していません。最後に達成する必要があります - PC、ヒープ、スタック、メソッド領域の定義
- 整数、浮動小数点表現と定義
- 特殊な方法
- <clinit>
- <init>
- VM命令セット
- 変換の種類
L2I
- スタック操作をポップ
astore aload - 操作
IADD Isubは - プロセス制御
ifeqのifne - 函数调用
INVOKEVIRTUAL invokeinterface invokespecial invokestatic
- 変換の種類
- JVMは、Javaライブラリのために、次のサポートを提供する必要があります
- リフレクションjava.lang.reflectの
- クラスローダ
- 初期クラスとインタフェース
- 安全関連java.security
- マルチスレッド
- 弱参照
- JVMのコンパイル
- ソースフォーマットに対応するJVMの命令
- JVP
- JVM解体形式
(インデックス)(オペコード)[(オペランド1)[(オペランド2)...]] [(コメント)]