【问题标题】:Array allocation [duplicate]数组分配[重复]
【发布时间】:2013-07-19 07:47:28
【问题描述】:

我很困惑这是什么意思::

int[] array = new int[0];

这里分配了多少字节?还是没有在内存中分配任何内容?下面是什么?

【问题讨论】:

标签: java arrays


【解决方案1】:

这是一个长度为零的数组。

分配多少字节是特定于平台的,但这里仍然有一个数组,只是一个很短的数组。一般来说,Java中的数组需要

fixed overhead + length * componentSize 

字节(然后可能会有一些填充)。

另外请注意,由于数组不能在 Java 中调整大小,并且零长度数组不能更新元素,这使得这些元素是不可变的,并且您实际上在整个程序中不需要多个实例,因此您可以使用像ArrayUtils.EMPTY_INT_ARRAY 这样的静态单例,节省“固定开销”。

【讨论】:

    猜你喜欢
    • 2016-07-16
    • 2020-05-14
    • 2014-05-19
    • 1970-01-01
    • 1970-01-01
    • 2014-12-31
    • 2012-12-13
    • 2017-05-25
    • 2011-12-10
    相关资源
    最近更新 更多