社区
C#
帖子详情
请问ArrayList本身失去引用而其中有部分元素没有失去引用会不会回收整个ArrayList的资源
Leilv
2003-08-18 03:26:20
如题,谢谢!
...全文
72
7
打赏
收藏
请问ArrayList本身失去引用而其中有部分元素没有失去引用会不会回收整个ArrayList的资源
如题,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jjcccc
2003-08-19
打赏
举报
回复
写段测试代码试试吧
kaneboy
2003-08-18
打赏
举报
回复
只要有引用指向对象,这个对象就不会被释放。按你的说法,应该是释放99个。
jjcccc
2003-08-18
打赏
举报
回复
按你的意思的话:是全部释放,并且你的引用不再可用。
Leilv
2003-08-18
打赏
举报
回复
我说清楚一点儿吧,比如说一个ArrayList有100个元素,有一个对象读取了整个ArrayList,然后只将第50个元素的引用复制并另存下来,然后这个ArrayList走出变量范围,按理说会被GC,但是由于其中有一个元素的引用还存在,所以不知道ArrayList的每个元素会怎么被释放,是释放99个呢还是释放100个。
seakingii
2003-08-18
打赏
举报
回复
肯定不会的。不然乱套了。
SimonSnow
2003-08-18
打赏
举报
回复
不太明白楼主要问的是什么?
应该不会回收整个资源
wuyueyoumu
2003-08-18
打赏
举报
回复
不会。比如两个arrayList的不同位置指向同一个对象,那么释放一个,另外一个肯定不会释放。
Java进阶课程系列之
ArrayList
集合底层源码实战分析
ArrayList
是一种变长的集合类,基于定长数组实现。
ArrayList
允许空值和重复
元素
,当往
ArrayList
中添加的
元素
数量大于其底层数组容量时,其
会
通过扩容机制重新生成一个更大的数组。另外,由于
ArrayList
底层基于数组实现,所以其可以保证在 O(1) 复杂度下完成随机查找操作。其他方面,
ArrayList
是非线程安全类,并发环境下,多个线程同时操作
ArrayList
,
会
引发不可预知的错误。 本节课程
会
带着大家去学习集合底层源码是什么个结构,他在做什么事情,能做到什么事情,
会
出现的问题以及解决方法,希望同学能够仔细听,详细你
会
收到丰富的回报的
牛客刷题笔记--(java基础101-150)
101
ArrayList
和LinkList的描述,下面说法错误的是?(D) LinkedeList和
ArrayList
都实现了List接口
ArrayList
是可改变大小的数组,而LinkedList是双向链接串列 LinkedList不支持高效的随机
元素
访问 在LinkedList的中间插入或删除一个
元素
意味着这个列表中剩余的
元素
都
会
被移动;而在
ArrayList
的中间插入或删除一个
元素
的开销是固定的 解释:
ArrayList
是基于数组的,所以,具备随机访问特点,但LinkedList就不一样了,虽然
java的内存
回收
--读《疯狂java》 笔记
内存
回收
引用
强
引用
软
引用
弱
引用
虚
引用
Java的内存泄漏垃圾
回收
机制现行的垃圾
回收
器Young(年轻代)Old代Permanent代与垃圾
回收
的附加选项常见垃圾
回收
器内存管理的小技巧 程序员需要通过关键字new创建Java对象,即可视作为Java对象申请内存空间,JVM
会
在堆内存中为每个对象分配空间;当一个Java对象
失去
引用
时,JVM的垃圾
回收
机制
会
自动清除它们,并
回收
它们所占用的内存空间。 对于JVM的垃圾
回收
机制来说,是否
回收
一个对象的标准在于:是否还有
引用
变量
引用
该对象?只要有
引用
变量
引用
该对象,垃圾
比较
ArrayList
、LinkedList、Vector
比较
ArrayList
、LinkedList、Vector http://blog.csdn.net/renfufei/article/details/17077425 标签: Javalinkedlist
arraylist
性能 2013-12-02 18:11 11385人阅读 评论(4) 收藏 举报 分类: Java基础(43) 翻
java内存
回收
机制_2.Java内存
回收
机制
一、Java对象在内存
引用
状态内存泄露:程序运行过程中,
会
不断分配内存空间,那些不再使用的内存空间应该即时
回收
它们,从而保证系统可以再次使用这些内存,如果存在无用的内存
没有
被
回收
回来,这就是内存泄漏.(1)强
引用
这是java程序中最常见的
引用
方式,程序创建一个对象,并把这个对象赋给一个
引用
变量,这个
引用
变量就是强
引用
.java程序可通过强
引用
来访问实际的对象。当一个对象被一个或一个以上的强
引用
变量...
C#
110,566
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章