美文网首页
Day11 三色标记 颜色指针

Day11 三色标记 颜色指针

作者: 小周爱吃瓜 | 来源:发表于2022-03-19 22:52 被阅读0次

八股文点到为止,个人觉得没必要深究.

  • XX: UseG1GC开启G1垃圾收集器

  • XX: G1HeapRegionSize 设置Region的大小

  • XX: ParallelGCThread 并行GC工作的线程数

  • XX: InitiiatiingHeapOccupanccyPercent 默认45%,代表GC堆达到多少利用率开始收集垃圾.

  • 垃圾收集器选择场景
  1. 调整堆大小让服务器来选择
  2. 内存<100M 串行收集器
  3. 响应时间 < 1s,并发收集器
  4. 停顿时间>1秒,并行或者jvm自己选择

垃圾收集器底层三色标记算法

因为 GC roots可达性分析算法在遍历的过程中遇到对象,看他是否被访问过,按照颜色区分.

  • 白色:
    未被标记的对象

  • 灰色:
    自身被标记,成员变量未被标记

  • 黑色
    自身和成员都被标记了

初始标记,并发标记(多线程).

可能出现漏标的情况,但是重新标记需要STW,于是才出现了读写屏障.
于是我们对其进行拦截,在读写前后,将对象G给记录下来.
就是类似拦截器.

说白了就是:

并发标记情况下,漏标了,或者标记错了,重新标记需要stw..
所以引入类似拦截器的功能,设置读写屏障,在赋值前后记录值.

void write(){
    before  //写前操作 barrier
  value =   new_value;
    after //写后操作
}

void read(){
  load_barrier //读屏障
  field = new value //赋值操作.
}

相关文章

  • Day11 三色标记 颜色指针

    八股文点到为止,个人觉得没必要深究. XX: UseG1GC开启G1垃圾收集器 XX: G1HeapRegion...

  • 垃圾回收器串讲及 HotSpot 的细节实现

    并发标记与三色标记 三色标记 在三色标记法之前有一个算法叫 Mark-And-Sweep(标记清除)。这个算法会设...

  • 三色标记原理,我给应聘者问懵了...

    摘要:知道三色标记吗?是红黄蓝三色标记吗? 本文分享自华为云社区《从三色标记说开去[https://bbs.hua...

  • JVM学习12·垃圾回收器以及HotSpot的实现细节

    1.并发标记与三色标记 在三色标记法之前有一个算法叫Mark-And-Sweep(标记清除)。这个算法会设置一个标...

  • 二、C语言基础

    A、指针 指针的概念:指针变量 和 指针 的区别 ?答:指针变量是指针的标记,也可以通过指针变量的标记操作指针内存...

  • 三色算法和SATB算法

    1、三色标记算法 1、提到并发标记,我们不得不了解并发标记的三色标记算法。它是描述追踪式回收器的一种有效的方法,利...

  • 带颜色的JVM:三色标记详解

    三色标记法是一种垃圾回收法,它可以让JVM不发生或仅短时间发生STW(Stop The World),从而达到清除...

  • 带颜色的JVM:三色标记详解

    三色标记法是一种垃圾回收法,它可以让JVM不发生或仅短时间发生STW(Stop The World),从而达到清除...

  • 三色标记

    一、并法标记期间出现的问题 1)漏标:需要处理,不然误回收 2)多标:浮动垃圾,下次回收; 二、漏标的解决方案 并...

  • 三色标记

    将对象逻辑上进行标记,黑(自己已识别,指针所指也识别),白(未识别),灰(自己已识别,但是指针对应对象未识别) C...

网友评论

      本文标题:Day11 三色标记 颜色指针

      本文链接:https://www.haomeiwen.com/subject/pgwndrtx.html