首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

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

2013-01-09 
内存管理与垃圾收集(一)内存管理与垃圾收集(一)----什么是垃圾1.“ 垃圾”是指在内存中不再有用的对象,其占

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

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

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

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

热点排行