分代收集理论

女爷i 2023-10-01 21:13 144阅读 0赞

1.弱**分代**假说:绝大多数对象都是朝生夕灭的。

2.强分代假说:熬过越多次垃圾收集过程的对象就越难以消亡。

这两个分代假说共同奠定了多款常用垃圾收集器的一致设计原则:收集器应该将Java堆划分出不同的区域,然后将回收对象依据年龄(即对象熬过垃圾回过程的次数)分配到不同的区域之中存储。

3.跨代引用假说:跨代引用相对于同代引用来说仅占极少数。

依据这条假说,不应再为了少量的跨代引用去扫描整个老年代,也不必浪费空间专门记录每一个对象是否存在哪些跨代引用,只需在新生代上建立一个全局的数据结构(记忆集),这个结构把老年代分成若干小块,标识出老年代那一块内存会存在跨代引用。此后当发生Minor GC时,只有包含了跨代引用的小块内存里的对象才会被加入到GC Roots进行扫描。

发表评论

表情:
评论列表 (有 0 条评论,144人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JVM GC算法:收集算法

    分代收集算法是一种常用的垃圾回收算法,用于管理JVM堆内存中的对象。该算法基于一种观察:大多数对象的生命周期较短,而只有少数对象会长时间存活。因此,将堆内存划分为不同的代(ge

    相关 收集理论

    1.弱分代假说:绝大多数对象都是朝生夕灭的。 2.强分代假说:熬过越多次垃圾收集过程的对象就越难以消亡。 这两个分代假说共同奠定了多款常用垃圾收集器的一致设计原则:收集器应