2025年什么是 GC,有什么作用?

什么是 GC,有什么作用?什么是 GC 有什么作用 1 什么是 GC 有什么作用 2 根对象到底是什么 3 常见的 GC 实现方式有哪些 Go 语言的 GC 使用的是什么 4 三色标记法是什么 5 STW 是什么意思 6 如何观察 Go GC

大家好,我是讯享网,很高兴认识大家。

在这里插入图片描述
讯享网

什么是 GC,有什么作用?

  • 1. 什么是 GC,有什么作用?
  • 2. 根对象到底是什么?
  • 3. 常见的 GC 实现方式有哪些?Go 语言的 GC 使用的是什么?
  • 4. 三色标记法是什么?
  • 5. STW 是什么意思?
  • 6. 如何观察 Go GC?
    • 方式1:`GODEBUG=gctrace=1`
    • 方式2:`go tool trace`
    • 方式3:`debug.ReadGCStats`
    • 方式4:`runtime.ReadMemStats`
  • 7. 有了 GC,为什么还会发生内存泄露?
    • 形式1:预期能被快速释放的内存因被根对象引用而没有得到迅速释放
    • 形式2:goroutine 泄漏
    • 验证
  • 8. 并发标记清除法的难点是什么?
  • 9. 什么是写屏障、混合写屏障,如何实现?
  • 10. Go 语言中 GC 的流程是什么?
  • 11. 触发 GC 的时机是什么?
  • 12. 如果内存分配速度超过了标记清除的速度怎么办?
  • 13. GC 关注的指标有哪些?
  • 14. Go 的 GC 如何调优?
  • 例1:合理化内存分配的速度、提高赋值器的 CPU 利用率
    • 例2:降低并复用已经申请的内存
    • 例3:调整 GOGC
    • 小结
  • 15. Go 的垃圾回收器有哪些相关的 API?其作用分别是什么?
  • 16. Go 历史各个版本在 GC 方面的改进?
  • 17. Go GC 在演化过程中还存在哪些其他设计?为什么没有被采用?
    • 并发栈重扫
    • ROC
    • 传统分代 GC
  • 18. 目前提供 GC 的语言以及不提供 GC 的语言有哪些?GC 和 No GC 各自的优缺点是什么?
  • 19. Go 对比 Java、V8 中 JavaScript 的 GC 性能如何?
    • V8 的 GC
    • Java 的 GC
    • 性能比较
  • 20. 目前 Go 语言的 GC 还存在哪些问题?
    • 1. Mark Assist 停顿时间过长
    • 2. Sweep 停顿时间过长
    • 3. 由于 GC 算法的不正确性导致 GC 周期被迫重新执行
    • 4. 创建大量 Goroutine 后导致 GC 消耗更多的 CPU
  • 总结
小讯
上一篇 2025-02-26 16:17
下一篇 2025-01-10 09:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/38135.html