色标

gc三色标记法

一 概念基础1.1三色标记法将对象分为三类把图过程中遇到的对象,按“是否访问过”这个条件标记成以下三种颜色: 1.白色对象(可能死亡):未被回收器访问到的对象。在回收开始阶段,所有对象均为白色,当回收结束后,白色对象均不可达。 灰色对象(临时状态):已被回收器访问到的对象,但回收器需要对其中的一个或 ......
色标

垃圾收集器ParNew&CMS与底层三色标记算法详解

垃圾收集算法 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法。 比如在新生代中,每次收集都会有大量对象(近99%)死去,所以可以选择复 ......
色标 底层 算法 垃圾 ParNew

昨晚做梦面试官问我三色标记算法

本文已收录至GitHub,推荐阅读 👉 [Java随想录](https://github.com/ZhengShuHai/JavaRecord) 微信公众号:Java随想录 > 原创不易,注重版权。转载请注明原作者和原文链接 [TOC] 某天,爪哇星球上,一个普通的房间,正在举行一场秘密的面试: ......
色标 算法

三色标记、原始快照、增量更新相关

#### 三色标记遍历过程(其实就是一个bfs的过程) 假设现在有白、灰、黑三个集合(表示当前对象的颜色),其遍历访问过程为: 1. 初始时,所有对象都在白色集合中; 2. 将GCRoots直接引用到的对象挪到灰色集合中; 3. 从灰色集合中获取对象: 1. 将本对象引用到的其他对象全部挪到灰色集合 ......
色标 快照 增量

DFS找环,三色标记

0代表还没访问 1代表正在访问 2代表已经访问完 如果dfs过程中遇到1,则表明找到了环 遇到2则不必继续找,用于剪枝 https://blog.csdn.net/lj12358132134/article/details/80458349 ......
色标 DFS

垃圾回收之三色标记法

关于垃圾回收算法,基本就是那么几种:标记-清除、标记-复制、标记-整理。在此基础上可以增加分代(新生代/老年代),每代采取不同的回收算法,以提高整体的分配和回收效率。 无论使用哪种算法,标记总是必要的一步。你不先找到垃圾,怎么进行回收?今天一起看下三色标记法。 一、如何标记 在 GC 领域里,判断对 ......
色标 垃圾

三色标记法

在遍历对象图的过程中,把需要遍历的对象按照“是否访问过”分为以下三种颜色。 白色:表示对象尚未被垃圾回收器访问过。显然,在可达性分析刚刚开始的阶段,所有的对象都是白色的,若在分析结束的阶段,仍然是白色的对象,即代表不可达。 黑色:表示对象已经被垃圾回收器访问过,且这个对象的所有引用都已经扫描过。黑色 ......
色标

《深入理解Java虚拟机》第三章读书笔记(二)——HotSpot垃圾回收算法实现(OopMap,安全点安全区域,卡表,写屏障,三色标记算法)

系列文章目录和关于我 前面《深入理解Java虚拟机》第三章读书笔记(一)——垃圾回收算法我们学习了垃圾回收算法理论知识,下面我们关注下HotSpot垃圾回收算法的实现,分为以下几部分 对象是垃圾的判断依据 GC Roots 是如何高效扫描的 如何解决跨代引用对象的垃圾回收问题 如何降低垃圾回收STW ......
算法 色标 屏障 垃圾 区域
共8篇  :1/1页 首页上一页1下一页尾页