+ Java仮想マシンのメモリモデル

、Java仮想マシンのメモリモデルは、仮想マシン、ネイティブメソッドスタック、ヒープおよびメソッド領域のJavaスタック、Javaアプリケーションの実行をするためには、JVMのメモリに仮想マシンのプログラムカウンタ、基礎Javaプログラムの実行中です。

次の命令の動作を記憶するプログラムカウンタと

VMスタックと関数呼び出しスタックに使用されるネイティブメソッドスタック;

所望のオブジェクトJavaプログラムを格納するために使用されるJavaスタックが実行され、

プログラム記憶のための方法ゾーンクラスメタデータ情報。

094105d11fgjcoq28jm52w.png.thumb.jpg

1、プログラムカウンタ、非常に小さなメモリ空間。スレッドの数がCPUの数を超えた場合に、Java言語サポートスレッドので、スレッドポーリング間のCPUリソースは、タイムスライスに従って奪います。各スレッドは、実行される次の命令のレコードを別のプログラムカウンタを使用する必要があります。各スレッドカウンターは互いに独立して、独立して動作します。これは、スレッドプライベートメモリ空間の一部です。(現在のスレッドネイティブメソッドが実行された場合、現在のスレッドは、Javaメソッドを実行している場合、Javaバイトコードアドレスは、プログラムカウンタの記録が行われて、プログラムカウンタは空である)

2、Java仮想マシン・スタック、スレッドプライベートメモリスペース、そしてそれは同時に、メソッドのローカル変数を保持しているJavaスレッドを作成して部分的な結果とコールとリターン方式に参加しています。スレッドスタックの深さ算出処理した場合、最大スタック深さが利用できる要求よりも大きい場合、スタックの拡張をサポートするために、動的なJavaスタックが膨張すること、およびスタックに展開過程で、十分なメモリ空間が存在しない場合は、にStackOverflowErrorがスローされます。 OutOfMemoryErrorがスローされます。

3、ネイティブメソッドスタック、および同様の機能のJava仮想マシン・スタック、コール管理機能のためのJava仮想マシンJavaスタック、およびネイティブメソッドスタックを管理するためのローカルメソッドを呼び出します。ローカルメソッドは、Javaで実装されますが、cが達成使用していません。仮想マシン内のSUNホットスポット、およびネイティブメソッドがVMのスタックをスタックを区別しません。そのため、仮想マシンと同じスタックは、またにStackOverflowErrorとのOutOfMemoryErrorを投げることができます。

4、Javaヒープ、Javaヒープメモリが仮想マシン管理の最大のブロックの一つであることは、仮想マシンの起動時に作成した、すべてのスレッドで共有領域です。このメモリ領域の唯一の目的は、オブジェクトのインスタンスを格納しています。メモリの回復の観点から、電流によるコレクタに基本的には、世代コレクションアルゴリズムを使用し、さらにJavaヒープに細分化することができ、歳の新世代、新世代のサバイバースペースからとに、エデンスペース、分割することができますサバイバースペース。javaファイルは限り連続した論理のように、不連続な物理メモリ空間であってもよいです。そして、(-Xmxと-Xmsで)制御を実現するための拡張をサポートすることができます。

5. Javaヒープ領域として方法、スレッドは、共有されたメモリ領域、情報格納されたメインクラス、定数プール、フィールド情報、情報法のタイプ。参照定数定数プール情報含む情報クラスメソッド、フィールドなど;完全な名前タイプ情報は、クラス、親クラスのフルネーム、型修飾子(パブリック、保護された、プライベート)との直接インターフェースクラステーブルのタイプを含むドメイン情報ドメイン名、ドメインの種類と範囲改質剤を含む、方法情報は、メソッド名、戻り型、メソッドパラメータ、メソッド修飾子、メソッドのバイトコード、オペランドスタック及びローカル変数スタックフレーム方式エリア、および例外テーブルのサイズを含みます。要するに、主にクラスファイルから、情報領域を維持する方法は、必須データを実行しているJavaアプリケーションです。しかし、で実装ゾーンの永久的な生成は、メモリ・オーバーフローの問題が発生しやすくなりますのHotSpot仮想マシン、道路地図情報の公式出版物のために、そのため、発生しますが、今、彼らは永久的な世代を放棄しなければならないと徐々にの計画方法の面積を実装するために、ネイティブメモリの使用によって置き換え。JDK1.7のHotSpotはもともと削除永久世代の文字列定数プールに配置されています。

公共の記事の総数は、広州ダークホースプログラマセンター(itheimagz)より多くのリソースをご覧ください

image.png

おすすめ

転載: blog.51cto.com/14360146/2429184