Java仮想マシンノート002オブジェクト

オブジェクト

オブジェクトの作成

  • クラスローダのチェック
    が行われるいかなるクラスローダが存在しない場合、新しいバイトコード命令が発生したか否かは、コマンドパラメータは、位置決めシンボルにクラスの定数プールを参照することができるかどうかをチェックし、このシンボルによって表されるクラスを確認するための基準は、ロードされ解析され、初期化されています;

  • メモリ割り当て
    の新しいオブジェクトの割り当てメモリ用
    • ポインタ衝突(バンプザ・ポインタ)は
      メモリが未使用領域へのポインタを移動させるために必要とされる場合のJavaヒープメモリ絶対規則を想定し、全ての使用されるメモリポインタは、もう一方の側の上に置き、未使用のメモリを入れ
    • フリーリスト(フリー・リスト)
      Javaのヒープメモリがアイドル状態で、リスト上のインスタンスとレコードに割り当てられた配分検索十分なスペースが空きリストで更新されるJVMのリストを維持する必要性と混合し一緒になっていると仮定します。
    • 空間圧縮とガベージコレクタ仕上げ機能により、通常のJavaヒープは、かどうかを決定するかどうか
    • スレッド安全性の問題
      • 確実にするためにアトミック更新操作を使用して同期、JVM障害リトライCAS +が割り当てられたメモリ空間の動作
      • 異なるスレッド分割空間(Tlab)における動作に応じてメモリの割り当て
      -XX:+/-UseTLAB
  • 初期化
    をゼロに初期化され、すべてに割り当てられたメモリ空間を

  • 必要な設定を行うためのJVMのオブジェクト
    • クラスに属するオブジェクトの例として、クラスのメタデータ情報
    • オブジェクトのハッシュコード、GC世代年齢
    • バイアスされたロックが有効になっています
  • 完了したJVMのインスタンスを作成し、初期化するには、コンストラクタを実行します

おすすめ

転載: www.cnblogs.com/fireyjy/p/12319278.html