84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
java中shallow size 单位是什么
小伙看你根骨奇佳,潜力无限,来学PHP伐。
浅いサイズを明確に説明したい場合は、保持サイズについて言及する必要があります。 浅いサイズ: 独自のオブジェクトが占めるサイズを示します。 保持サイズ: 自身のオブジェクト + 参照オブジェクトの保持サイズ。
まず、この図を借りてみましょう。この図は、それらの間の計算関係をより明確に表すことができます。
Bの浅いサイズ = B;
B の保持サイズ = B の浅いサイズ + C の保持サイズ + D の保持サイズ;
例を示す前に、まずヒープ内の JAVA オブジェクトのストレージを理解する必要があります。例として 32 ビット JVM 仮想マシンを取り上げます。 JAVA オブジェクトはヒープ内の 3 つの部分で構成されます。
オブジェクト ヘッダーには 2 つのデータ部分が含まれています。 1 つは実行時データです。 32 ビット JVM は 32 ビット、つまり 4 バイトです。 64 ビットは 8 バイトです。 2: 型ポインター。
は、インスタンス変数を格納するデータであり、変数の型には2つの基本型変数と参照変数があります。 基本型変数が占めるバイトのサイズについては話さないようにしましょう。参照変数の場合、ポインターが格納されます。
オブジェクトの保存領域が 8byte の整数倍である場合、オブジェクトヘッダー + インスタンスデータが 8byte の整数倍未満の場合、埋められます。
リーリー
浅いサイズ = 4byte (オブジェクト ヘッダー) + 4byte (型ポインター) + 4byte (int a) + 1byte (boolean b ) + 4byte (TestObjSize 参照) = 17;** 17 は 8 の整数倍ではないため、TestObjSize タイプのインスタンス オブジェクトの最終的な浅いサイズは 7 バイトになります。 ;
obj2 の保持サイズ = obj2 の浅いサイズ = 24; obj1 オブジェクトの testObjSize は obj2 であるため、obj1 の保持サイズ = obj1 の浅いサイズ + obj2 の保持サイズ = 48;
浅いサイズを明確に説明したい場合は、保持サイズについて言及する必要があります。
浅いサイズ: 独自のオブジェクトが占めるサイズを示します。
保持サイズ: 自身のオブジェクト + 参照オブジェクトの保持サイズ。
まず、この図を借りてみましょう。この図は、それらの間の計算関係をより明確に表すことができます。
Bの浅いサイズ = B;
B の保持サイズ = B の浅いサイズ + C の保持サイズ + D の保持サイズ;
例を示す前に、まずヒープ内の JAVA オブジェクトのストレージを理解する必要があります。例として 32 ビット JVM 仮想マシンを取り上げます。
JAVA オブジェクトはヒープ内の 3 つの部分で構成されます。
オブジェクト ヘッダーには 2 つのデータ部分が含まれています。
1 つは実行時データです。 32 ビット JVM は 32 ビット、つまり 4 バイトです。 64 ビットは 8 バイトです。
2: 型ポインター。
は、インスタンス変数を格納するデータであり、変数の型には2つの基本型変数と参照変数があります。
基本型変数が占めるバイトのサイズについては話さないようにしましょう。参照変数の場合、ポインターが格納されます。
オブジェクトの保存領域が 8byte の整数倍である場合、オブジェクトヘッダー + インスタンスデータが 8byte の整数倍未満の場合、埋められます。
リーリー
浅いサイズはインスタンス変数に参照があるかどうかとは関係がないため、まず **TestObjSize の浅いサイズを分析します。浅いサイズ = 4byte (オブジェクト ヘッダー) + 4byte (型ポインター) + 4byte (int a) + 1byte (boolean b ) + 4byte (TestObjSize 参照) = 17;**
例によると、obj2 オブジェクトの testObjSize = null、17 は 8 の整数倍ではないため、TestObjSize タイプのインスタンス オブジェクトの最終的な浅いサイズは 7 バイトになります。 ;
obj2 の保持サイズ = obj2 の浅いサイズ = 24;
最後にヒープダンプをアタッチします!obj1 オブジェクトの testObjSize は obj2 であるため、obj1 の保持サイズ = obj1 の浅いサイズ + obj2 の保持サイズ = 48;