目次
4 親の委任メカニズムを破るために Tomcat を補足する
Java の作成について話す前に、まずJava 仮想マシンのメモリ構成を理解しましょう。Java 仮想マシンが開始されると、システムによって JVM に割り当てられたスペースは、論理的にヒープ、仮想マシン スタック、ローカル メソッドに分割されます。スタック、メソッド領域、およびプログラム カウンタは、次の図に示すように 5 つの部分で構成されます。
ヒープ: 新しいオブジェクトと配列を配置します。
仮想マシン スタック: スレッドの実行前に、スレッド スタック スペースが割り当てられます。スレッドでの各メソッドの実行により、スタック フレームが生成され、スレッド スタックに配置されます。スタック フレームには、ローカル変数テーブル、オペランド スタック、ダイナミック スタックが含まれます接続とメソッド。4 つの部分をエクスポートします。
ローカル変数テーブル: ローカル変数をメソッドに保存する
オペランドスタック: 代入または計算に使用されるデータ
ダイナミックリンク: メソッド実行のエントリアドレス
メソッド出口: 呼び出しメソッドのアドレスを返します。
ローカル メソッド スタック: 仮想マシン スタックと同様、非 Java メソッドを呼び出すためのスタックです。
メソッド領域:クラスメタ情報の格納、定数プール
プログラム カウンター: スレッドが実行されている場所を指します。