内存管理 | 青训营笔记

74 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第5 天

image.png

image.png

image.png

1.自动内存管理

概念

image.png

Concurrent GC :mutator和clollector一起进行 (但是要感知到对象指定方向的改变)

Mutator :业务线程,分配新对象,修改对象指向关系

collector:Gc线程,找到存活对象,回收死亡对象的内存空间

Serial GC:只有一个collector

parallel GC:支持多个collectors同时回收GC算法

image.png

评价GC算法

image.png

GC算法 1,追踪垃圾回收

2.引用计数

image.png 3.Generational GC(分代GC) image.png

2.go内存管理

image.png 内存分配 1.分块

image.png 2.缓存

image.png 3.管理优化 BALABCE GC

image.png

image.png

3.编译器和静态分析

编译器结构

image.png image.png

数据流和控制流

image.png

过程内和过程间分析

4.go编译器优化

image.png 函数内联

image.png 逃逸分析

image.png