JAVA中在定义一个数组的时候,根据书上内容形式,举一个例子int[] arr=new int[]{3,4,5,};
但是在实际中,我见到过或者使用更多的是int[] arr={3,4,5};
这个时候要不要new去分配内存又有什么区别呢?
在JAVA中 是不是没有new 分配的时候 数组arr在内存栈中
new分配内存空间时 数组arr就到了堆内存中呢
我知道的是这个样子的:new int[]{3,4,5,}
;这个在堆中开辟了一个空间用于存放这个数组对象,内容是数据。然后int[] arr=new int[]{3,4,5,}
;这句话的得在第一句话的基础上说。意思就是先在栈中开辟一个空间,然后把new int[]{3,4,5,};
所产生数组对象的地址存放到栈中开辟的空间中。int[] arr={3,4,5};
只开辟了一个空间,至于在栈中还是在堆中这个我也不确定,推断是在栈中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。