JVMのオブジェクトの割り当て

1、ときに、新しいバイトコード命令実行JVM:

    

 

1.1は、メモリを割り当てます

        2つの方法で割り当て戦略:(1)JVMポインタ衝突記憶領域が連続反りがあり、すべてのメモリの側で使用され、メモリは反対側に自由である、中央に立っ

ポインタとして境界点ポインタ、単に可能なオブジェクトサイズからポインタを移動させるメモリ再割当て

        (2)フリー・リストは、JVMが連続していないメモリ領域は、メモリを割り当てることによってオブジェクトリストのサイズを見つけるために、それらを非占有占有されているフリーリストエントリを、必要

       注:通常の割り当てはJVMのメモリによって決定されたかどうかを選択する方法は、メモリは、通常のガベージコレクションのアルゴリズムが決定か

   1.2は、メモリ、スレッドの安全性の問題を割り当てます

           二つの方法:(1)CASエラー発生時の再試行メカニズムが接続されました

                               (2)ローカルスレッド緩衝機構、仮想マシンのパラメータ設定-XX:UseTLABスレッドの初期化、(約エデン1%を占める)エデン領域内のメモリの小領域の事前分布を 

                                     TLABはちょうど、各スレッドがプライベートパーティションポインタ、メモリ空間オブジェクトや共有を持ってみましょう。

 1.3、メモリ初期化

          後のオブジェクトを割り当て、それはオブジェクトのインスタンス変数を初期化する必要がある、などの静的変数の初期デフォルト値:int型デフォルト値は0であるが、ブールデフォルトは偽であり、文字列デフォルトでnullであります

 1.4提供オブジェクトヘッダ

         初期ターゲットメモリ空間後、オブジェクトヘッダ情報セットは、ハッシュコードは、ロックオブジェクトフラグが設定されている、現在のオブジェクトがクラスに属する、GC対象世代年齢

 1.5、オブジェクトの初期化

         コンストラクタは、インスタンス変数の値と静的変数を初期化するために実行されます

図2に示すように、オブジェクトのメモリレイアウト

   オブジェクトヘッダ、インスタンスデータ、アライメントパディング

   オブジェクト、ロックステータスフラグ、スレッドがロックを保持しているハッシュコード:オブジェクトヘッダは、次のような、データオブジェクト自体が実行されている含まれてい

   オブジェクトのインスタンス変数と静的変数で定義されたフィールドの様々なタイプ:例データ

   アライメントパディング:オブジェクトは、8バイトの整数倍であり、充填と整列していません

3、アクセスモードオブジェクト

図3に示すように、メモリ割り当て戦略

8のゾーンのデフォルト率にエデン、フォームの新世代を含む新世代、古い時代、へのヒープ、:1:1

ヒープパラメータ設定:新世代サイズ:-Xmn10m

                        -XX:SurvivorRatio = 8及び比率はエデンサバイバーのデフォルトは8で表さエデンを表す:から:= 8:1:1

(1)優先対象エデンに割り振ら

         十分なメモリ空間が存在しない場合はエデンの配分に優先順位をオブジェクト、マイナーGCをトリガします

(2)ラージオブジェクトを直接歳に

         パラメータによって  -XX:PretenureSizeThreshold = 4メートル、より直接的に古い時代には、このパラメータの大きさよりも、古い年にオブジェクトのサイズを設定するだけのためPretenureSizeThresholdパラメータシリアルおよび効果的なParNew 2つのコレクタを

オブジェクトの(3)長期生存は年に古い(15以上の対象者の年齢)に入り、

          マイナーGC時間、年齢が高くなる一定値に従う(デフォルト値15)の年齢は歳に直接のとき、一度

(4)動的物体(被写体ヘッド世代の年齢)の年齢を決定します

        すべてのSurvivor領域のサイズをオブジェクト半分以下のスペースサバイバー、年齢以上の同年齢の合計よりもかのこの古来の直接アクセスに等しいです

(5)スペース割り当て保証

    HandlePromotionFailureの設定は、保証のためのスペースがもっとマイナーGCへの試みよりも場合は、前の年よりの古い最大の連続空きメモリ空間は、古いオブジェクトの平均サイズに昇進したかどうか、セキュリティチェック場合は、フルGCを許可するように設定する必要が許可されていません。

    もし保証の失敗、全GC

 

 

 

おすすめ

転載: www.cnblogs.com/huyang0726/p/11932183.html