00问答网
所有问题
Java中ArrayList在内存和堆中如何分配、何时分配
如题所述
举报该问题
推荐答案 2012-10-22
ArrayList内部是用一个数组来是实现的,java内存分配,最常见的就是方法中的局部非静态变量都是栈内存分配,全局变量使用堆分配
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/ZTIeZZrr0.html
其他回答
第1个回答 2012-10-22
你说内存和堆~ 这个说法是错误的它们不是一个平面的关系 堆栈的说话其实简化了的 完整的说话是堆内存和栈内存
ArrayList是对象 既然是对象那肯定全都分配在堆上了 只有引用会分配的栈上 只要你使用new 关键字实例化了一个ArrayList对象 就会分配内存 不只是ArrayList 所有的对象都是这个规则(对象中的静态部分是除外的 静态部分在程序开始运行的时候就会分配内存)
本回答被提问者和网友采纳
相似回答
java中Arraylist
是干什么
的
?
怎么
用?
答:
ArrayList
List = new ArrayList(); for( int i=0;i<10;i++ ) // 给数组增加10个Int元素 List.Add(i); //..程序做一些处理 List.RemoveAt(5);// 将第6个元素移除 for( int i=0;i<3;i++ ) // 再增加3个元素 List.Add(i+20); Int32[] values = (Int32[])List.ToArray...
java中Arraylist
是干什么
的
?
怎么
用?
答:
ArrayList
List = new ArrayList();for( int i=0;i<10;i++ ) //给数组增加10个Int元素 List.Add(i);//..程序做一些处理 List.RemoveAt(5);//将第6个元素移除 for( int i=0;i<3;i++ ) //再增加3个元素 List.Add(i+20);Int32[] values = (Int32[])List.ToArray(typeof(...
java中Arraylist
为什么是查找快,增删慢?
答:
java中Arraylist
查找快原因是arraylist中的数据在内存中是连续的,成块的,查找的时候直接顺序遍历内存就可以了。实现了长度可变的数组
,在内存中分配
连续的空间。而增删会带来元素的移动,增加数据会向后移动,删除数据会向前移动,所以影响效率,增删较慢。
java
基本类型和包装类的区别
答:
5. 在堆内存中分配的内存由 Java 虚拟机的自动垃圾回收器管理。由于
在堆内存中分配
空间所需的时间远大于栈
内存,
因此
Java 的
运行速度通常比 C 语言慢。6. 当需要向
ArrayList
、HashMap 等容器中添加内容时,基本类型如 int、double 等是无法直接添加的,因为这些容器只能容纳对象类型。这时,就需要...
大家正在搜
mmap在堆上分配内存
java堆内存分配
JVM内存中堆存储什么内容
Jvm无法分配堆内存
new分配的内存在堆
堆内存和栈内存区别
堆内存和栈内存图解
堆内存分配
堆内存分配的作用
相关问题
JAVA里,ArrayList在内存分配上究竟是怎样的?
如何测试arraylist动态分配内存中带来的内存,cpu变...
java中 new ArrayList(10),原始类型,分...
java中 new ArrayList(10),原始类型,分...
JAVA里,ArrayList在内存分配上究竟是怎样的
java中怎么判断arraylist占用的内存空间大小
Java 中 ArrayList 自动扩容的内存上的具体过程...
java对象内存分配问题