我们如何知道Integer类对象的大小?

时间:2014-09-17 13:40:09

标签: java object integer

我们如何判断整数类对象的大小?例如:Integer i = new Integer(10);所以在上面的例子中,' i的大小是多少。它有效吗?

1 个答案:

答案 0 :(得分:1)

Java有一个介于-128和128之间的整数常量池。该范围内的整数值不会占用任何额外的空间。

该范围之外的整数值占用与对象标题+ 4个字节一样多的空间。这有多大取决于您的JVM和设置。如果要以编程方式测量大小,请查看http://sourceforge.net/projects/sizeofhttps://code.google.com/p/memory-measurer

修改:请注意Integer i = new Integer(10);使用对象常量池。这就是为什么在实例化时应始终使用Integer.valueOf(x)而不是new Integer(x)的原因。另请注意,autoboxing已经做了正确的事情,因此Integer i = 10也将使用常量池。