当前位置:首页 > 内存 > 正文

java声明数组时是否分配内存

  • 内存
  • 2024-05-26 00:01:36
  • 8350

一、在Java中定义数组时必须分配内存,这句话是错的还是对的呢对于Java数组,您可以看到在声明时,一个特殊的对象被放置在堆栈上,分配的空间存储在堆上。
示例:
[]arr=null;
此时,arr数组仅在栈上声明,并没有分配空间
[]arr=newint[6];
此时,arr数组在堆栈上声明,并且在堆上开放空间。此时arr已经分配了内存。
根据具体情况,数组的定义如下:您也可以在需要时声明它并打开空间。


二、java中的定义整型数组时怎么分配内存您好,您想了解一下其运行的内部机制吗?如果不是,那么就是
int[]array=newint[10];
这个操作符在内存中打开一个长度为10的整型数组,当然数组是在内存中的。地址是连续的。这是常识,你应该知道。
三、为什么教材里说JAVA数组声明后必须用new分配内存,实际上不用new也可以?新添加的内容将分配在内存中,未添加的内容将分配在堆栈中。堆栈空间较小,运行速度较快,因此堆内存区域中常存放较大的数组数据。