关于数组的问题int[] ary{}int[] arynew int[]{}int[] arynull这三种形式在内存分配是怎么样的?求高
关于数组的问题
int[] ary={};
int[] ary=new int[]{};
int[] ary=null;
这三种形式在内存分配是怎么样的?求高手解惑!
[解决办法]
个人觉得以上三句jvm都不会为其分配内存,因为jvm不知道你这个需要多大的内存。所以只会在java栈的本地变量表里面生成3个引用而已。
[解决办法]
数组本身就是一个对象,跟其他对象一样分配的,也包含一些字段,如length
第三个并没有在堆中分配内存
[解决办法]
只在栈空间里生成三个引用
[解决办法]
对象一般要实例化才会分配内存空间。你打印下他们的长度,这只是三个引用。
