我读过这篇文章
http://btoddb-java-sizing.blogspot.com/
作者解释了如何在Java中计算对象大小。例如:
import jdk.nashorn.internal.ir.debug.ObjectSizeCalculator;
public final class Perfomance {
static int number;
static int anotherNumber;
public static void main(String[] args) {
System.out.println(ObjectSizeCalculator.getObjectSize(new Integer(2)));
}
}
这段代码将显示16,因为新对象需要12个字节,在整数中我们有int(4个字节)
12+4 = 16.
但请考虑以下代码:
System.out.println(ObjectSizeCalculator.getObjectSize(Integer.class));
而且现在它的尺寸是56
System.out.println(ObjectSizeCalculator.getObjectSize(Object.class));
它的节目288。它是如何工作的。分配的内存如何依赖于类?