【问题标题】:How can we know the size of Integer Class Object?我们如何知道整数类对象的大小?
【发布时间】:2014-09-17 13:40:08
【问题描述】:

如何判断 Integer Class Object 的大小?例如:整数 i = new Integer(10);所以在上述情况下,'i' 的大小是多少。有效吗??

【问题讨论】:

  • 什么编程语言? “大小”是什么意思?
  • 与Java有关。这里的Size表示Integer Object在运行时占用多少内存。
  • 视情况而定,它可能为零(已注册),也可能非常大(装箱)。为什么这对你很重要?
  • 写作new Integer(10)probably a bad idea。特别是如果您担心内存使用情况。请改用Integer.valueOf(10)

标签: java object integer


【解决方案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)。另请注意,自动装箱已经做了正确的事情,所以Integer i = 10 也将使用常量池。

【讨论】:

    猜你喜欢
    • 2010-12-14
    • 2023-03-13
    • 2013-08-22
    • 1970-01-01
    • 2018-12-16
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    相关资源
    最近更新 更多