ホームページ > Java > &#&ベース > Javaオブジェクトの作成プロセスとは何ですか

Javaオブジェクトの作成プロセスとは何ですか

王林
リリース: 2020-05-25 09:59:47
オリジナル
3238 人が閲覧しました

Javaオブジェクトの作成プロセスとは何ですか

Java オブジェクトの作成プロセス:

クラスの読み込みチェック --> メモリの割り当て --> ゼロ値の初期化 --> オブジェクト ヘッダーの設定-->init メソッドの実行

詳細は次のとおりです:

1. クラス読み込みチェック

仮想マシンが新しい命令を検出すると、最初にこの命令のパラメータをチェックします。定数プール内のクラスのシンボリック参照を見つけて、このシンボリック参照で表されるクラスが ji によってロード、解析、および初期化されているかどうかを確認できますか。そうでない場合は、クラスのロード処理が最初に実行されます。

(ビデオ チュートリアルの推奨: java ビデオ )

2. メモリの割り当て

2 つの方法があります:

(1)ポインタの衝突: Java ヒープ内のメモリが規則的で、一方が使用済みメモリ、もう一方が空きメモリであると仮定します。境界点を示すポインタが中央にあります。割り当てられたメモリは、そのポインタを次の位置に移動します。自由側 オブジェクトのサイズに等しい距離。

(2) 空きリスト: Java ヒープ内のメモリが規則的でない場合、仮想マシンは利用可能なメモリ ブロックを記録するリストを維持し、そのリストから十分な大きさの領域を見つけて割り当てなければなりません。を割り当てるときにオブジェクトに追加し、リストのレコードを更新します。

3. ゼロ値の初期化

割り当てられたメモリ空間をゼロ値に初期化する TLAB を使用する場合、TLAB の割り当て時にゼロ値に初期化されます。

4. オブジェクトヘッダの設定

主にクラスのメタデータ情報、オブジェクトのハッシュコード、オブジェクトのGC生成年齢などを設定します。

5. initメソッドの初期化を実行します。

推奨チュートリアル: Java 開発の入門

以上がJavaオブジェクトの作成プロセスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート