java垃圾回收机制

1、发现无用对象

  引用计数

    被应用时,计数器++,通过计数器判断是否被引用(循环引用)

    把引用关系作为一张图,搜索根。(建图或者建树)

 

2、回收无用对象

 通用的垃圾分代回收机制

    将对象分为年轻代,年老代,持久代

    jvm划分为将堆划分为:

    Eden :新建对象先放至eden,满了就触发垃圾回收(minor gc 删除无用对象,将有用对象复制到survivor1区或survivor2区,清空eden)

    Survivor :当对象在经历了多次(默认15次)在s1和s2中轮转,就被放至 old区

    Tenured :old区满时,启动(major gc 清理老年代) 全满时启动full-gc

原文地址:https://www.cnblogs.com/wjune-0405/p/12636259.html