美文网首页
垃圾回收算法

垃圾回收算法

作者: 魂之挽歌w | 来源:发表于2020-09-05 16:30 被阅读0次

    基础知识:

    1.finalize()的方法会在对象被gc时调用
    2.System.gc()手动触发回收,对象不一定被回收
    3.不可达的对象只得是不被使用的对象

    算法:

    1、引用计数法(新生代使用):对象有15次机会,不适用-1,使用+1,为0则清除
    2、复制算法(新生代使用):新生代划分为Eden、S0、S1三个区,刚产生的对象放在Eden区,gc发现仍在使用放入S0或S1区(s0、s1同一时刻只有一个会使用),发现s区存在需要清除对象,则复制存活对象到两一个s区,清除本s区
    优点:整体清除s区,可防止内存回收的碎片化
    3、标记清除算法(老年代使用,已不用):对象不使用标记为0,使用标记为1,会回收标记为0的对象
    缺点:存在碎片化
    4、标记压缩算法(老年代使用,标记清除算法升级版0):将不使用对象放置到一起,一起清除,防止碎片化
    5、分代算法:新生代和老年代使用不同算法回收

    相关文章

      网友评论

          本文标题:垃圾回收算法

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