Java嵌套数组是如何在内存中实现的?

Java嵌套数组是如何在内存中实现的?,java,memory,Java,Memory,考虑java中的嵌套数组。数组的顶层是否包含对内部数组的引用,或者内存实际上是否包含内部数组本身 如果您需要一个说明,假设我可以访问reverse方法,该方法将通过多次交换来反转一个阵列。如果我在一个M*N嵌套数组的顶层调用reverse,那么该方法是简单地围绕(一个O(M)操作)交换引用,还是围绕(一个O(M*N)操作)交换整行呢。数组本身可能是连续的块,但元素引用的对象不太可能是连续的 这篇文章用一个词很好地概括了它。数组本身可能是连续的块,但元素引用的对象不太可能是连续的 本文对其进行了很

考虑java中的嵌套数组。数组的顶层是否包含对内部数组的引用,或者内存实际上是否包含内部数组本身

如果您需要一个说明,假设我可以访问
reverse
方法,该方法将通过多次交换来反转一个阵列。如果我在一个M*N嵌套数组的顶层调用
reverse
,那么该方法是简单地围绕(一个O(M)操作)交换引用,还是围绕(一个O(M*N)操作)交换整行呢。数组本身可能是连续的块,但元素引用的对象不太可能是连续的

这篇文章用一个词很好地概括了它。数组本身可能是连续的块,但元素引用的对象不太可能是连续的


本文对其进行了很好的总结

我相信您可以在大多数介绍Java的书籍中找到答案(尽管可能不那么明显)


在Java中,嵌套/多维数组不是连续块。它只是一个“数组引用”数组。

我相信您可以在大多数介绍Java的书籍中找到答案(尽管可能不那么明显)

在Java中,嵌套/多维数组不是连续块。它只是一个“数组引用”数组