In Java, is a multidimensional array stored in column-major or row-major order?
Neither. What we may sometimes think of as two-dimensional array in Java is actually an array of references to arrays. It's not stored linearly in memory.
The Java Language specification notes this in the introduction:
The language supports arrays of arrays, rather than multidimensional arrays.
This has several implications.
From the JLS, section 10.2, "Array Variables":
A single variable of array type may contain references to arrays of different lengths, because an array's length is not part of its type.
From the JLS, section 10.7, "Array Members":
A clone of a multidimensional array is shallow, which is to say that it creates only a single new array. Subarrays are shared.