jvm
小幻_159
这个作者很懒,什么都没留下…
展开
-
ZGC的染色指针
在64位系统中,如果没有被压缩的话,一个指向对象的指针(即地址值)是占64bit的,我们拿出4个bit,来记录一些信息.如果这个指针原来指向了一个对象,在并发标记的过程之中,指向的对象有所改变,我们就用这4个bit来记录下这个变化下一次重新扫描的时候,就扫描这些变化过的对象(因为是地址值,而且是约定的值,比如规定第一位0是已经变化过的,那么下次直接扫描第一位是0的就好了),只不过这样的话,zgc只能支持4tb的内存.但是如果将来前18位也可以被开发出来使用的话,这4个bit直接挪到前面,那么zgc的支持原创 2020-08-01 21:30:49 · 4222 阅读 · 3 评论 -
三色标记的漏标问题及两种解决方案
文章目录什么是三色标记三色标记的漏标问题漏标的两个充要条件CMS采用的是`增量更新`G1采用的是`原始快照`什么是三色标记三色标记是在cms和g1中使用的垃圾追踪算法黑色从GCRoots开始,已扫描过它全部引用的对象,标记为黑色灰色扫描过对象本身,还没完全扫描过它全部引用的对象,标记为灰色白色还没扫描过的对象,标记为白色所以,从GCRoots开始,顺着一直向下扫描,用可达性分析算法,最后所有的白色对象,都是垃圾对象,可以回收三色标记的漏标问题我们采用一个最简单的模型,只原创 2020-08-01 00:17:11 · 4978 阅读 · 9 评论