ITPub博客

首页 > Linux操作系统 > Linux操作系统 > GC 过程图解

GC 过程图解

原创 Linux操作系统 作者:ylw66 时间:2010-02-08 15:42:55 0 删除 编辑

MaxTenuringThreshold =2 表示从年轻代升级到老生代的条件,即经过大于两次GC后,没有被回收的对象从年轻代升级到老生代

1 内存中的对象分为两个部分,新生代和老生代,新生代中包括一个创建空间(Eden)和两个生存半空间(FromTo

2 刚开始对象都是在新生代中的,保存在Eden

3 第一次GC,有些对象被回收,还有一些对象存活下来,并被复制到To空间中

4 这些对象被标记为经过了GC 1

5 又有一批对象(黄色),此时第二次GC,有两个动作:

   First 部分黄色的对象存活,被复制到To空间内,这部分对象被标记为经过GC 1

   Second 部分之前存活的红色对象还在被引用,也被复制到To空间内,这部分对象被标记为经过GC 2

6第三次GC,被记录经过GC 2次的红色对象,满足了升级条件,移动到老生代中

7 第三次GC过程中,黄色的对象被复制并被记录为经过GC 2次。蓝色部分对象被复制并被记录为经过GC1

gc(1).jpg

gc(2).jpg

gc(3).jpg

gc(4).jpg

gc(5).jpg

gc(6).jpg

gc(7).jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22111412/viewspace-627056/,如需转载,请注明出处,否则将追究法律责任。

下一篇: SGA_MAX_SIZE
请登录后发表评论 登录
全部评论

注册时间:2009-07-29

  • 博文量
    57
  • 访问量
    94712