我在类似的 Stack Overflow 线程上找到了这个主题。
在 c++ 中,当你创建一个数组 int[i][j] 时,你会得到行主顺序,因此按行迭代将为你提供包含更多有用数据的缓存。
在 java 中,没有 2d 数组,但它仍然在缓存方面创建了足够相似的东西。我的问题是,它是创建行大小的实际数据数组,还是创建行大小的指针数组?
或者,正如类似 Stack Over 线程上的最佳答案所说,它是否做了完全不同的事情,其中 int[5][8] 将是一个由 5 个指针组成的数组,这些指针指向任意大小的数组,它们的总和为 (5*8) ?
它说 java 制作了锯齿状数组,我想不出任何好的理由来证明这是真的。