热卖商品
新闻详情
Dirty cards和PLAB - www.flydean.com - OSCHINA - 中文开源技术...
来自 : 开源中国
发布时间:2021-03-24
小师妹:F师兄,minor GC的时候,要将对象从Eden复制到Suvivor Space,从Suvivor Space中复制到Old space。GC是怎么知道哪些对象是要被回收,哪些是不用被回收的呢?
小师妹,GC这里用到了一项叫做Dirty cards的技术。
一般来说,新的对象是分配在Eden空间的。但是也有些对象是直接分配在Old space。
我们知道,GC的扫描是从一些根对象开始的,这些Root对象包括:正在执行的方法中的本地对象和输入参数。活动的线程,加载类中的static字段和JNI引用。
而这些根对象,一般都是存储在old space中的。
通常来说old space的空间都会比较大。每次要要找到Eden和suvivor Space中哪些对象不再被引用,需要扫描整个old space肯定是不可取的。
所以JVM在这里引入了Write barrier的技术。
HotSpot中有两种Write barrier,一种就是今天我们要讲的Dirty cards,另外一种就是snapshot-at-the-beginning (SATB)。SATB通常用在G1垃圾回收器中,这里我们先不做深入的讨论。
2020年7月8日今天我们和小师妹一起来了解一下垃圾回收中的Dirty cards和PLAB。 分代收集器中的空间划分 小师妹:F师兄,能再讲讲分代垃圾收集器中的空间划分吗? 分...whitespace,codesnippet,flydean,flydean,Dirty cards和PLAB - www.flydean.com,OSCHINA博客点击上方的蓝字关注我吧 程序那些事 简介 分代垃圾回收器在进行minor GC的时候会发生什么操作呢?有没有什么提高效率的手段呢? 今天我们和小师妹一起来了解一下垃圾回收中的Dirty cards和PLAB。 分代收集器中的空...Dirty cards和PLAB
本文链接: http://plab.immuno-online.com/view-686275.html
发布于 : 2021-03-24
阅读(0)
最新动态
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24
2021-03-24