内存管理与垃圾收集(一)

内存管理与垃圾收集(一)
----什么是垃圾

1.“ 垃圾”是指在内存中不再有用的对象,其占有的内存应该释放,将不再有用的对象清除出内存的工作就称为“垃圾收集”。

2.对象称为“垃圾”的条件
(1)对于非线程对象来说,当所有活动线程都不可能访问到该对象时,该对象便称为“垃圾”。
(2)对于线程对象来说,除了要满足第一条标准之外,还要求将线程本身已经死亡或者还处于新建状态。
注:活动线程是指已经启动但还没有死亡的线程。
上述两条规则是判断对象是否成为“垃圾”的标准,同时也可以利用上述规则使希望被释放的对象称为“垃圾”。

3.符合条件的几种情况
(1)单个对象的情况
对于非线程的单个对象来说,使其成为垃圾的方法很简单,只要将指向该对象的所有引用不再指向该对象即可。
使引用不再指向特定对象的方法:
a.将指向该对象的应用设置为null值;
b.将引用指向别的对象;
c.随着语句块或方法体的退出局部引用消亡。
(2)多个对象的情况
关键是看对象能不能被活动线程访问到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值