随笔 - 171  文章 - 0  评论 - 0  阅读 - 62466

随笔分类 -  Java / 垃圾回收

STAB算法
摘要:SATB算法思想简介 SATB算法的基本思想,可以概括为如下三句话: 并发标记之前先给Region内存打个快照,标记线程基于这个快照独立进行标记。应用线程不会直接修改这个快照中的对象,也就是说应用线程不会干扰标记线程的工作。 应用线程新分配的对象都认为是活跃对象,实际在下一个并发标记周期进行标记。 阅读全文
posted @ 2023-04-05 11:20 zhengbiyu 阅读(513) 评论(0) 推荐(0) 编辑
三色标记
摘要:在遍历对象图的过程中,把需要遍历的对象按照“是否访问过”分为以下三种颜色。 白色:表示对象尚未被垃圾回收器访问过。显然,在可达性分析刚刚开始的阶段,所有的对象都是白色的,若在分析结束的阶段,仍然是白色的对象,即代表不可达。 黑色:表示对象已经被垃圾回收器访问过,且这个对象的所有引用都已经扫描过。黑色 阅读全文
posted @ 2023-03-29 19:56 zhengbiyu 阅读(97) 评论(0) 推荐(0) 编辑
G1
摘要:G1抛弃了之前的分代收集的方式,面向整个堆内存进行回收,把内存划分为多个大小相等的独立区域Region。 一共有4种Region: 自由分区Free Region 年轻代分区Young Region,年轻代还是会存在Eden和Survivor的区分 老年代分区Old Region 大对象分区Humo 阅读全文
posted @ 2023-03-29 19:54 zhengbiyu 阅读(464) 评论(0) 推荐(0) 编辑
Card Marking
摘要:如果 young gc 线程只遍历年轻代内的对象引用,那么老年代到年轻代的跨代引用就会被忽略,被老年代存活对象跨代引用的年轻代对象会被回收,这样就破坏了应用程序的运行。但是如果每次ygc都进行全堆扫描,且ygc次数较频繁,会很慢。在 young gc 时,为了找到跨代引用,通常有这几个方法: 当对象 阅读全文
posted @ 2023-03-19 19:02 zhengbiyu 阅读(37) 评论(0) 推荐(0) 编辑
CMS
摘要:一种以获取最短回收停顿时间为目标的收集器。 特点:基于标记-清除算法实现。并发收集、低停顿。 应用场景:适用于注重服务的响应速度,希望系统停顿时间STW最短,给用户带来更好的体验等场景下。如web程序、b/s服务。 CMS收集器的缺点: CMS收集器对CPU资源非常敏感,在并发阶段虽然不会导致用户线 阅读全文
posted @ 2023-03-19 18:46 zhengbiyu 阅读(116) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示