Javaのオブジェクトに関するいくつかの質問

1.オブジェクトを作成するプロセス

1.classロード

2.classのリンク(検証(検証)、準備(準備)、解像度(解決))

3.clsaa初期化

4.アプリケーションのオブジェクトのメモリ

メンバ変数に割り当てられたデフォルト値

6.コールコンストラクタ(初期化)

    1.割り当てられたメンバ変数配列の初期値

    コンストラクタ文を実行2.

前記レイアウトオブジェクトがメモリに格納されています

1.通常のオブジェクト

1.オブジェクトヘッダ:通話長のホットスポットは、8バイトmarkword

2.ClassPointerポインタ:T.class -XXとして開くようにポインティング:+ UseCompressedClassPointers 4バイト、8つのバイトではない開放されています

データの3例:メンバ変数

        1.参照種類:オープン-XX:+ UseCompressedOops 4バイト、8つのバイトではない開放されています

         (おっと):通常のオブジェクトのポインタ

整列4.Padding、長さが8の倍数であります

2.オブジェクトの配列

1.オブジェクトヘッダ:通話長のホットスポットは、8バイトmarkword

2.ClassPointerポインタ:T.classなどを指します

3.配列の長さ:4つのバイト

4.データアレイ

整列5.Padding、長さが8の倍数であります

3.特定のオブジェクトヘッダに含まれているどのような

4.どのようにオブジェクトの場所

1.ハンドルプール

2.直接ポインタ(HotSpotの実装)

公開された48元の記事 ウォンの賞賛1 ビュー2808

おすすめ

転載: blog.csdn.net/Forest24/article/details/103108579