【发布时间】:2016-07-06 10:13:20
【问题描述】:
这是一个非常简单且可能毫无价值的问题:以下两个中的哪个消耗更多内存?
boolean[][] var = new boolean[32768][32768];
或
byte[][] var = new byte[32768][32768];
我听说java 在这两种情况下都将每条数据存储在它自己的byte 中。那么哪个更有效呢?是否可以以某种方式将long 值视为boolean 数组?
【问题讨论】:
-
你从哪里听到这些谣言的?
-
我投票决定将此问题作为离题结束,因为这是一个实现细节,可以通过一个简单的实验轻松回答。
-
你真的不应该担心使用原始类型时的性能。唯一要记住的是,当您处理 大量 数据集时,原始类型(字节、整数、...)的引用类型兄弟在内存方面肯定更昂贵。但除非您处理 10 或 100 件数千件商品;你真的不需要关心。