Java オブジェクトの作成とリサイクルのプロセス全体

目次

1 はじめに

2 Javaオブジェクトの作成

2.1 クラスロードチェック

2.1.1 誰がロードするか

2.1.2 ロード方法

2.2 メモリの割り当て

2.3 ゼロ値の初期化

2.4 オブジェクトヘッダーの設定

2.5 クリニットの実行

3 オブジェクトのリサイクル

4 親の委任メカニズムを破るために Tomcat を補足する


Java の作成について話す前に、まずJava 仮想マシンのメモリ構成を理解しましょう。Java 仮想マシンが開始されると、システムによって JVM に割り当てられたスペースは、論理的にヒープ、仮想マシン スタック、ローカル メソッドに分割されます。スタック、メソッド領域、およびプログラム カウンタは、次の図に示すように 5 つの部分で構成されます。

 

ヒープ: 新しいオブジェクトと配列を配置します。

仮想マシン スタック: スレッドの実行前に、スレッド スタック スペースが割り当てられます。スレッドでの各メソッドの実行により、スタック フレームが生成され、スレッド スタックに配置されます。スタック フレームには、ローカル変数テーブル、オペランド スタック、ダイナミック スタックが含まれます接続とメソッド。4 つの部分をエクスポートします。

        ローカル変数テーブル: ローカル変数をメソッドに保存する

        オペランドスタック: 代入または計算に使用されるデータ

        ダイナミックリンク: メソッド実行のエントリアドレス

        メソッド出口: 呼び出しメソッドのアドレスを返します。

ローカル メソッド スタック: 仮想マシン スタックと同様、非 Java メソッドを呼び出すためのスタックです。

メソッド領域:クラスメタ情報の格納、定数プール

プログラム カウンター: スレッドが実行されている場所を指します。

おすすめ

転載: blog.csdn.net/s_nshine/article/details/132094627