use*_*335 4 java arrays size boolean
例如,大小为32的布尔数组会比整数变量占用更多空间吗?如果是这样,那为什么又要增加多少?
澄清:
在Java中(如果相关,请原谅我-我不确定)。这行:
boolean arr=new boolean[32];
比此行占用更多空间:
int num;
das*_*ght 5
booleanJava中的32 s 数组占用的空间大约是Java的八倍int。这是因为在大多数计算机体系结构中,内存的最小可寻址单元是一个八位字节,因此,使“打包”布尔数组组成需要额外的开销。
boolean
int
如果您想每个布尔使用一位,请使用BitSetclass而不是布尔数组。请注意,除了数据本身之外,您还会得到一些开销,因此仅使用32位这样的数据结构可能不足以证明从简单数组切换出来是不经济的。
BitSet
归档时间:
13 年 前
查看次数:
1270 次
最近记录: