JVMのJavaランタイムデータ領域(スレッド共有領域)

各スレッド領域の地域のシェアは、ヒープおよびメソッド領域JVMランタイムを含みます。

ヒープ

ほとんどの主な機能は、メインの戦場のJavaヒープガベージコレクションがエリア内にあるので、GCヒープが呼ばれているので、また言及した記事[上]ヒープオブジェクトのインスタンスを格納することです。面積は十分なメモリヒープ意志のOutOfMemory例外ではない場合。

リサイクルを容易にするために、ヒープ領域は新世代と古い時代に細分化することができます。名前が示すように、対象の新しく作成されたかどうかの年齢の新しい世代があり、三つの領域新世代領域、エデン地域、S0とS1 District地区があります。オブジェクトは、ほとんどの場合、エデン地区の新生児された後、オブジェクトがまだ存在する場合は、回復した後、S0を入力するか、S1ゾーン、すべての回復が存在することができた後ならば、年齢、プラス1になる、一定の年齢に達するだろうエリアを入力する歳。

古いの記憶領域がまだ存在して多くの時間を通じて回収され、直接[など]オブジェクトは、高い生存率、ライフサイクルの長さを表し、長い文字列や長さの配列、古い年にも、いくつかの大規模なオブジェクトがあります。古いものと地域の新世代GCの新世代間の違いは、より頻繁回数です。

メソッド地区

異なるJDKバージョンと異なるJVM実装では、マルチゾーン方式の実装は、永久およびメタ生成空間としても矛盾し、変更し、特定のメソッドの作業領域を詳細に要約することが困難です。したがって、オブジェクトのメソッド主記憶領域を理解することを含め、より重要です。

 

図1に示すように、情報の種類:

 

    クラスのフルネーム

 

    クラスの直接の親のフルネーム

 

    クラスの順序付きリストを達成するためのダイレクトインターフェース

 

    タイプフラグ(クラスタイプまたはインターフェイスタイプ)

 

    クラス修飾子(官民defautl抽象最終静的)

 

  図2に示すように、定数プールタイプ

 

    直接定数(文字列、整数、浮動小数点)、及びシンボルの他のタイプ、フィールド、参照される方法を含むタイプによって使用される定数の順序付けられた集合を格納します。

 

  3、フィールド情報(すべてのフィールドの文のタイプ)

 

    フィールド修飾子(パブリック、peotect、プライベート、デフォルト)

 

    Typeフィールド

 

    フィールド名

 

  4、メソッド情報

 

    方法情報は、クラスのすべてのメソッドを含みます。

 

    メソッド修飾子

 

    メソッドの戻り値の型

 

    メソッド名

 

    等のパラメータ、タイプ、注文の数の方法

 

    メソッドのバイトコード

 

    方法オペランドスタックとスタックフレームのローカル変数領域サイズ

 

    例外テーブル

 

  5、クラス変数(静的変数)

 

  図6に示すように、基準点クラスローダ

 

  図7に示すように、基準点クラスの例

 

  8.メソッドテーブル

 

  9、ランタイム定数プール(実行時定数プール)

より転載コンテンツ記憶領域の方法、ここで

 

おすすめ

転載: www.cnblogs.com/lbrs/p/12005462.html