这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
前言
本文仅仅是对课程的总结和回顾,方便后续查阅,以及自己的一些心得总结,若有错误,请大家不吝赐教
自动内存管理
1. 基本概念
- 动态内存:运行时根据需求动态分配的内存
- 自动内存管理:程序语言运行系统管理内存=》避免手动,保证内存管理的正确性和安全性
- 三个任务:分配空间、找到存活对象、回收
- Mutator:业务线程,分配新对象
- Collector:GC线程,回收内存空间
- Serial GC:只有一个collector
- Paoallel GC:支持多个collector同时祸首
- Concurrent GC:Mutator和Collector同时执行
2. 追踪垃圾回收
- 对象被回收条件:指向关系不可达的对象
- 步骤: 1. 标记根对象 2.标记可达对象 3.清理不可达对象
3.分代GC
- 分代假说:很多对象分配出来后很快就不再使用
4.引用计数
- 对象存货条件:引用数大于0
go内存管理优化
总结
这一块对我来说有点抽象,后面继续研究补充内存管理优化的内容