因此,我正在开发一个每秒将多次更新二维数组的 Java 程序。最初,我使用 复制整个数组System.arrayCopy()
,但这显然是个坏主意,因为我一次只更新一行。相反,我决定只使用一个指向数组的虚拟“零”的“指针”。无论如何,我也希望能够支持动态调整大小,我想到最简单的方法可能是让一个数组保持相同大小,然后有一个数字表示虚拟的最大长度大批。我发现自己认为这可能会浪费内存
以上信息只是为了有人可以告诉我我是否在做一些完全荒谬的事情。
TL;DR = 如果我执行以下操作...
int[][] data = new int[2000][]; // 2000 would be the max
for(int i=0; i<10; i++) {
data[i] = new int[10];
}
...除了我实际初始化的一百个整数之外,我还使用了多少内存?它只是每个空引用的 4 个字节吗?