gc回收算法.pdf
上传人:sy****28 上传时间:2024-09-14 格式:PDF 页数:3 大小:280KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

gc回收算法.pdf

gc回收算法.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

JavaGC算法-sala技术专栏-博客频道-CSDN.NEThttp://blog.csdn.net/salahg/article/details/5912101首页业界移动云计算研发论坛博客下载更多您还未登录!|登录|注册|帮助sala技术专栏移动搜索互联网目录视图摘要视图订阅个人资料【西安】开源云社区活动免费报名浓缩六届精华,国内大数据领域最纯粹技术盛会CSDN高校俱乐部专家巡讲讲师招募新版论坛全民公测!“2012移动开发者大会参会感悟”有奖征文火热进行中JavaEE参考示例SpringSide作者江南白衣专访JavaGC算法分类:JavaGC2010-09-2815:35240人阅读评论(0)收藏举报当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用。除了释放没用的对象,垃圾收集salahg也可以清除内存记录碎片。1、引用计数法(ReferenceCountingCollector)引用计数法是唯一没有使用根集的垃圾回收的法,该算法使用引用计数器来区分存活对象和不再使用的对象。一般访问:15800次来说,堆中的每个对象对应一个引用计数器。当每一次创建一个对象并赋给一个变量时,引用计数器置为1。当对象被赋积分:586分排名:第16267名给任意变量时,引用计数器每次加1当对象出了作用域后(该对象丢弃不再使用),引用计数器减1,一旦引用计数器为0,对象就满足了垃圾收集的条件。原创:43篇转载:24篇基于引用计数器的垃圾收集器运行较快,不会长时间中断程序执行,适宜地必须实时运行的程序。但引用计数器增译文:0篇评论:2条加了程序执行的开销,因为每次对象赋给新的变量,计数器加1,而每次现有对象出了作用域生,计数器减1。文章搜索ps:用根集的方法(既有向图的方法)进行内存对象管理,可以消除循环引用的问题.就是说如果有三个对象相互引用,只要他们和根集是不可达的,gc也是可以回收他们.根集的方法精度很高,但是效率低.计数器法精度低(无法处理循环引用),但是执行效率高.文章分类2、tracing算法(TracingCollector)Java(4)Life(3)tracing算法是为了解决引用计数法的问题而提出,它使用了根集的概念。基于tracing算法的垃圾收集器从根集Linux(9)开始扫描,识别出哪些对象可达,哪些对象不可达,并用某种方式标记可达对象,例如对每个可达对象设置一个或多个MySQL(3)Soft(13)位。在扫描识别过程中,基于tracing算法的垃圾收集也称为标记和清除(mark-and-sweep)垃圾收集器。Vim(5)移动互联网(3)3、compacting算法(CompactingCollector)android(0)杂谈(2)为了解决堆碎片问题,基于tracing的垃圾回收吸收了Compacting算法的思想,在清除的过程中,算法将所有的网络(1)对象移到堆的一端,堆的另一端就变成了一个相邻的空闲内存区,收集器会对它移动的所有对象的所有引用进行更新,使GTD(1)得这些引用在新的位置能识别原来的对象。在基于Compacting算法的收集器的实现中,一般增加句柄和句柄表。其他(4)HTTP(3)Web架构(4)4、copying算法(CopingCollector)JVM(4)安全漏洞(1)该算法的提出是为了克服句柄的开销和解决堆碎片的垃圾回收。GC(1)将内存分为两个区域(fromspace和tospace)。所有的对象分配内存都分配到fromspace。在清理非活动对前端(2)象阶段,把所有标志为活动的对象,copy到tospace,之后清楚fromspace空间。然后互换fromsapce和toJSP(2)股(0)space的身份。既原先的fromspace变成tosapce,原先的tospace变成fromspace。每次清理,重复上述过股票作手回忆录摘录(1)程。大端序小端序(1)优点:copy算法不理会非活动对象,copy数量仅仅取决为活动对象的数量。并且在copy的同时,整理了heap空1of311/01/201209:54AMJavaGC算法-sala技术专栏-博客频道-CSDN.NEThttp://blog.csdn.net/salahg/article/details/5912101Java匿名内部类和局部内部类间,即,tospace的空间使用始终是连续的,内存使用效率得到提高。(0)缺点:划分fromspace和tospace,内存的使用率是1/2。收集器必须复制所有的活动对象,这增加了程序等