我必须在我的 Java 程序中存储数百万个 X/Y 双对以供参考。我想保持尽可能低的内存消耗以及对象引用的数量。因此,经过一番思考后,我决定将这两个点保存在一个很小的双数组中可能是个好主意,它的设置如下所示:
double[] node = new double[2];
node[0] = x;
node[1] = y;
我认为使用数组会阻止类与类中使用的 X 和 Y 变量之间的链接,如下所示:
class Node {
public double x, y;
}
然而,在阅读了类中公共字段的存储方式之后,我突然意识到,字段实际上可能不是像指针一样的结构,也许 JVM 只是将这些值存储在连续的内存中,并且知道如何在没有地址的情况下找到它们使我的观点的类表示小于数组。
所以问题是,哪个内存占用更小?为什么?
我对类字段是否使用指针特别感兴趣,因此是否有 32 位开销。