[JVM仮想マシンの深い理解]メモリとメモリオーバーフロー例外の第2章-Java領域

それぞれのメモリの-Javaエリア、スタックメモリとヒープメモリを、引用、該当シーンのどのような、なぜ?

  • スタック:プログラムは、プログラム、またはどのようにデータを処理するための実装方法、すなわち、操作上の問題を解決します。
  • ヒープ:ソリューションは置くために、データを配置する、すなわちどのように、データストレージの問題です。

参照リンクhttps://www.cnblogs.com/gdufs/p/6407432.html

ランタイムデータ領域

糸分離ランタイムデータ領域:プログラムカウンタ、Java仮想マシン・スタック、ネイティブメソッドスタック

  • プログラム・カウンタ:ハンドオーバ後のプログラムカウンタによってスレッドが実行の正しい位置を復元できるように、現在、スレッドプライベートので、スレッドを実行し、行番号指示子バイトコード。
  • Java仮想マシン・スタック:各メソッドは、実行時のスタックフレームを作成します。スタックフレーム上で実行からプロセスを完了するために、各メソッド呼び出しは、仮想マシンプロセススタックにスタックプッシュに対応します。
  • ネイティブメソッドスタック?TODO

ランタイムデータ領域の共有スレッド:Javaヒープ、(実行時定数プールを含む)の方法エリア

  • Javaヒープ:ストアオブジェクトインスタンス。メインエリアは、ガベージコレクタによって管理されています。
  • メソッドの地区:仮想マシンを保存するには、クラス情報、定数、静的変数、コードやその他のデータをコンパイルする時間コンパイラがロードされています。
  • ランタイム定数プールは:メソッド領域の一部です。TODO

OutOfMemoryError

仮想マシンのメモリのプログラムカウンタに加えて、他のいくつかの領域を実行するのOutOfMemoryError(OOM)例外が発生することがあります。

おすすめ

転載: www.cnblogs.com/coding-gaga/p/10903064.html