GC

作者: ADark0915 | 来源:发表于2018-03-09 09:06 被阅读12次
    1. 引用计数法 高效,但无法解决循环引用的问题。

    2. Java中采用“可达性分析”方法 通过一系列的“GC Root”对象作为起点进行搜索

    3. 如果在GC Root和一个对象之间没有可达路径,就认为这个对象不可达。被判定为不可达对的象不一定会成为可回收对象,需经过至少两次标记过程,如果在这两次标记过程中还是没有逃脱成为可回收对象的可能,就基本上被判定为可回收对象。

    4. 典型的垃圾回收算法 标记清楚算法,复制算法,标记整理算法,分代收集算法

    1. 老年代,新生代,堆区之外的永久代

    新生代采用复制算法,但并没有按照1:1的比例分成两等份,而是分成三部分,一份较大的Eden和两份较小的Survivor。每次使用Eden空间和其中的一块Survivor空间,当进行回收时,将Eden和Survivor中还存活的对象复制到另一块Survivor空间中,然后清理掉Eden和刚才使用过的Survivor空间。

    老年代的特点是每次回收都只回收少量对象,一般使用的是标记整理算法。

    永久代(Permanet Generation),它用来存储class类、常量、方法描述等。对永久代的回收主要回收两部分内容:废弃常量和无用的类。

    相关文章

      网友评论

          本文标题:GC

          本文链接:https://www.haomeiwen.com/subject/caeyfftx.html