我需要在Java程序中存储数百万个X/Y双精度对以供参考。我希望尽可能地降低内存消耗和对象引用的数量。所以经过一些思考,我决定将两个点保存在一个小的双精度数组中,其设置如下:
double[] node = new double[2];
node[0] = x;
node[1] = y;
我认为使用数组将会防止类与我的在类中使用的X和Y变量之间的联系,代码如下:
class Node {
public double x, y;
}
在我阅读了关于类中公共字段存储方式的资料后,我想到字段可能并不是像指针一样的结构。也许JVM只是将这些值存储在连续的内存中,并且知道如何在没有地址的情况下找到它们,因此我的点的类表示形式比数组小。
所以问题是,哪个具有更小的内存占用?为什么?
我特别想知道类字段是否使用指针,因此是否具有32位的开销。