首页 > 其他 > 详细

JVM基础和调优(三)

时间:2014-11-06 21:26:15      阅读:198      评论:0      收藏:0      [点我收藏+]

主要讲解垃圾回收的算法

上面我们已经了解到了,JVM的体系的结构,这次我们来说一下垃圾回收的算法。

1. 最开始的想法,或者说垃圾回收的最容易想到的就是:引用计数(reference count)

我们记录每一个对象受到引用的次数,每增加一个引用就在这个对象对应的引用次数加一,每减少一次对对象的印象对应的引用次数就减一,回收的时候直接检查引用的次数,次数为零的时候直接的回收。这个有一个缺点就是循环引用的问题。但是还有程序在使用这种算法,

2. 针对每一个对象,使用引用计数不行,我们可以使用标记,这个就是标记-清楚(mark - sweep)算法。

bubuko.com,布布扣

此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法需要暂停整个应用,同时,会产生内存碎片。

这里需要说一下,引用的根节点是什么,为什么所有的,包括循环引用都能标记到?

JVM基础和调优(三)

原文:http://www.cnblogs.com/zhailzh/p/4079771.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!