并发标记算法优化 - 通俗易懂版

并发标记算法优化 - 通俗易懂版

什么是并发标记算法?

想象一下,你是一个垃圾清理工,需要在一个巨大的仓库里找出哪些东西是垃圾,哪些还有用。但是,仓库里的工人们还在不停地工作,不断地搬运、添加、删除物品。你不能让所有工人都停下来等你清理完垃圾,那样效率太低了。

并发标记算法就是解决这个问题的方案:让垃圾清理工(GC线程)和仓库工人(应用线程)同时工作,互不干扰。

三色标记法 - 用颜色管理对象

为什么要用三种颜色?

就像交通信号灯一样,我们用三种颜色来标记对象的状态:

白色对象 - “还没检查过”

  • 就像仓库里贴着白色标签的物品
  • 意思是:“我还没检查过这个东西是不是垃圾”
  • 如果到最后还是白色,那就是垃圾,要扔掉

灰色对象 - “正在检查中”

  • 就像贴着灰色标签的物品
  • 意思是:“我知道这个东西有用,但还没检查它里面装的东西”
  • 比如一个箱子,

你可能感兴趣的:(P7【Java面试手记】,算法,java,开发语言)