论坛首页 入门技术论坛

在HotSpot中如何实现分代回收

浏览 1626 次
该帖已经被评为新手帖
作者 正文
   发表时间:2011-03-12  
    题目是个大话题,不过在FAQ里的回答,个人觉得短小而精辟。短短几句话,可以让那些对generational collector不太清楚的朋友们迅速了解。简单介绍如下:

The default collector in HotSpot has two generations: the young generation and the tenured generation. Most allocations are done in the young generation. The young generation is optimized for objects that have a short lifetime relative to the interval between collections. Objects that survive several collections in the young generation are moved to the tenured generation. The young generation is typically smaller and is collected more often. The tenured generation is typically larger and collected less often.
HotSpot默认回收器有两代:年轻代和年老代。大多数的分配都在年轻代中完成。年轻代对对象做了优化,即相对于回收间隔来说,这些对象拥有更短的生命周期。在年轻代中的一些对象,加入经过几次回收之后仍然存在,那么它们将被移至年老代中。相对来说,年轻代往往比较小并且会被更频繁的进行垃圾回收,而年老代正好相反。

The young generation collector is a copying collector. The young generation is divided into 3 spaces: eden-space, to-space, and from-space. Allocations are done from eden-space and from-space. When those are full a young generation is collection is done. The expectation is that most of the objects are garbage and any surviving objects can be copied to to-space. If there are more surviving objects than can fit into to-space, the remaining objects are copied into the tenured generation. There is an option to collect the young generation in parallel.
年轻代回收器是基于复制的。年轻代被分为三个空间:eden-space, to-space, and from-space.分配的动作就在eden-space和from-space中完成。年轻代经过回收以后,我们期望的结果是大部分的对象将会被回收,而那些没有被回收的对象就被复制到to-space中,加入存活下来的对象不能所有都装进to-space,那么剩下的对象直接将被送进年老代。当然,也可以选择在年轻代中并行收集(也就是使用多个线程同时进行垃圾回收的工作)。

The tenured generation is collected with a mark-sweep-compact collection. There is an option to collect the tenured generation concurrently.
年老代使用mark-sweep-compact策略进行回收,也可以选择并发回收。


PS:外面吵死了吵死了吵死了。。。。。
   发表时间:2011-03-12  
19次浏览就有11个新手帖?有必要么?
0 请登录后投票
   发表时间:2011-03-12  
IcyFenix 写道
19次浏览就有11个新手帖?有必要么?

就是啊 有这个必要吗。。。。
0 请登录后投票
   发表时间:2011-03-12  
chenchao051 写道
IcyFenix 写道
19次浏览就有11个新手帖?有必要么?

就是啊 有这个必要吗。。。。

一个帖的内容既不深刻又缺乏新意,在论坛发出来被各位大大指定为新手帖才是正常的吧
看看右上角的豆腐块的“相关文章”

楼主大大发在博客就没事了
0 请登录后投票
   发表时间:2011-03-13  
bugmenot 写道
chenchao051 写道
IcyFenix 写道
19次浏览就有11个新手帖?有必要么?

就是啊 有这个必要吗。。。。

一个帖的内容既不深刻又缺乏新意,在论坛发出来被各位大大指定为新手帖才是正常的吧
看看右上角的豆腐块的“相关文章”

楼主大大发在博客就没事了



说的在理,我是在官方的FAQ看了下,觉得短小,也蛮不错的,就翻译了下放这了,没想到悲剧了。。。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics