ObjectSizeCalculator显示错误的字符串大小

时间:2018-06-25 05:52:05

标签: java memory

我要计算java.lang.String对象的大小。

String a = "a";

我使用Java 8和64位系统。

我知道尺寸应该是:

16个字节用于新的string标头, int hash的4个字节 8个字节,用于引用char value[] 现在我们还有char数组对象 新的char[]标头为16个字节 数组长度为4个字节, char a的2个字节

因此它应该是16 + 4 + 8 + 16 + 4 + 2 = 50并且由于未决= 56

但是此代码显示了48

final String str = "a";
        System.out.println(ObjectSizeCalculator.getObjectSize(str));

我想念什么?

0 个答案:

没有答案