开发者社区> 问答> 正文

JAVA中数组定义new分配内存空间的问题

JAVA中在定义一个数组的时候,根据书上内容形式,举一个例子
int[] arr=new int[]{3,4,5,};
但是在实际中,我见到过或者使用更多的是
int[] arr={3,4,5};
这个时候要不要new去分配内存又有什么区别呢?
在JAVA中 是不是没有new 分配的时候 数组arr在内存栈中
new分配内存空间时 数组arr就到了堆内存中呢

展开
收起
蛮大人123 2016-03-23 14:21:17 2958 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    我知道的是这个样子的:new int[]{3,4,5,};这个在堆中开辟了一个空间用于存放这个数组对象,内容是数据。然后int[] arr=new int[]{3,4,5,};这句话的得在第一句话的基础上说。意思就是先在栈中开辟一个空间,然后把new int[]{3,4,5,};所产生数组对象的地址存放到栈中开辟的空间中。
    int[] arr={3,4,5};只开辟了一个空间,至于在栈中还是在堆中这个我也不确定,推断是在栈中。

    2019-07-17 19:10:59
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载