在网上搜到一个这个:
这是一个与Java内存管理系统相关的问题。由于无论Java语言规范或VM规范都没有明确
要求内存管理系统的具体实现,所以这个问题依赖于具体的JVM。 一般而言,一个对象
的size大于一个int的size, 而int[50][2] 包含了50个int[], 而int[2][50]仅包含2个
int[], 故int[50][2]的size至少不会小于int[2][50]. 对于SUN J2SE 5.0 JVM, 可以
用Runtime.freeMemory()来估测这个问题。java.lang.management 包中也包含了估测
内存的方法。试一下便知.
测试语句:
long aa = Runtime.getRuntime().freeMemory();
int[][] test_0 = new int[50][2];
long bb = Runtime.getRuntime().freeMemory();
int[][] test_1 = new int[2][50];
long cc = Runtime.getRuntim