When I read this link Java Criticism. At the section Large Array. There is two point I don't understand :
Java also lacks true multidimensional arrays (contiguously allocated single blocks of memory accessed by a single indirection), which limits performance for scientific and technical computing
In C, I know that multidimensional arrays is just a contiguously memory of element. So, as section above, each row in Java is an object, and multi rows just like multi objects, and they're not contiguous in memory, right ?
Java has been criticized for not supporting arrays of more than 231 - 1 (about 2.1 billion) elements ... Arrays must be indexed by int values... An attempt to access an array component with a long index value results in a compile-time error
Does this mean, if we can access an array component by long integer, the array size can be bigger ? And in that case, so, this still limit size of array is size of long, right ?
Thanks :)