1.知人JVM

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)...]] [(コメント)]

おすすめ

転載: www.cnblogs.com/lee2guang/p/12520579.html