日期:2014-05-20  浏览次数:20751 次

关于数组的问题
int[] ary={};
int[] ary=new int[]{};
int[] ary=null;
这三种形式在内存分配是怎么样的?求高手解惑!

------解决方案--------------------
个人觉得以上三句jvm都不会为其分配内存,因为jvm不知道你这个需要多大的内存。所以只会在java栈的本地变量表里面生成3个引用而已。
------解决方案--------------------
数组本身就是一个对象,跟其他对象一样分配的,也包含一些字段,如length

第三个并没有在堆中分配内存
------解决方案--------------------
只在栈空间里生成三个引用
------解决方案--------------------
对象一般要实例化才会分配内存空间。你打印下他们的长度,这只是三个引用。