清凉的茶

  • 首页
  • 传送门
  • 标签
  • 归档
  • 关于我
首页 » 默认分类 » Golang垃圾回收(GC) 底层原理

Golang垃圾回收(GC) 底层原理

  • 2024-01-28
  • 默认分类
  • 暂无评论
  • 586 次阅读
文章目录
  • 三色标记
  • 写屏障
  • 为什么称之为屏障 ?
  • gov1.3的GC (简单的标记清除)
  • gov1.5的GC (三色标记清除)
    • 三色标记的问题
    • 如何保证对象不丢失, GC尽可能高效?
  • gov1.8的GC (三色标记 + 混合写屏障)
    • 场景1 堆对象变成栈对象的下游
    • 场景2 对象被一个栈对象删除引用, 成为另一个栈对象下游
    • 场景3 堆对象 被转义引用 到另一个堆对象
    • 场景4 栈对象引用 变成 堆对象引用

标签: golang

转载请注明文章来源

本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。

评论已关闭

  • 上一篇: 如何判断golang变量是分配在栈(stack)上还是堆(heap)上?
  • 下一篇: Go进阶—并发编程 Mutex

标签

  • linux
  • 随笔
  • golang
  • 算法
  • php
  • git
  • 软件
  • 正则表达式
  • docker
  • vim
  • mysql
  • 软件设计
  • html/css
  • 虚拟机
  • 汇总
  • 并发编程
  • ssh
  • http
  • 服务器
  • thinkphp
  • 数据库
  • Go
  • redis
  • MQ
  • 加密
  • 分布式
  • yii2
  • mac
  • 项目管理
  • ssr

链接

  • 暂无链接

其它

  • 文章 RSS
  • 评论 RSS
  • 暂无链接

© 2025 清凉的茶. Powered by Typecho & Initial.

粤ICP备18029520号