浅堆(ShallowHeap): 即当前对象成员变量所占用内存 + 对象头内存(8字节)
例子:int(4)+int(4)+ref(4)+对象头(8) = 24
深堆(RetainedHeap): 即当前对象与当前对象所引用的对象(只能是被当前对象引用,不能被其他对象引用的对象)浅堆之和
对象实际大小: 即当前对象与当前对象所引用的对象浅堆之和
例子:A的浅堆大小为A自己大小,A的深堆大小为A和D的浅堆之和.
而A的对象实际大小为 A+C+D的大小
浅堆(ShallowHeap): 即当前对象成员变量所占用内存 + 对象头内存(8字节)
例子:int(4)+int(4)+ref(4)+对象头(8) = 24
深堆(RetainedHeap): 即当前对象与当前对象所引用的对象(只能是被当前对象引用,不能被其他对象引用的对象)浅堆之和
对象实际大小: 即当前对象与当前对象所引用的对象浅堆之和
例子:A的浅堆大小为A自己大小,A的深堆大小为A和D的浅堆之和.
而A的对象实际大小为 A+C+D的大小