性能优化及自动内存管理| 青训营笔记

68 阅读1分钟

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


性能优化及自动内存管理

我们的第一节是自动内存管理,老师会从以下四个方面介绍,首先会介绍自动内存管理的基本背景以及一些概念。接下来会介绍两种常见的自动内存管理的方式分别是Tracing garbage collection,也就是基于追踪的垃圾回收,还有Reference counting引用计数法,除此之外还想介绍一个叫Generational GC也就是分代GC或者叫逐代回收算法。

动态内存

程序在运行时根据需求动态分配的内存: malloc() 自动内存管理(垃圾回收):由程序语言的运行时系统回收动态内存 避免手动内存管理,专注于实现业务逻辑 保证内存使用的正确性和安全性: double- free problem,use- after- -free problem

三个任务

为新对象分配空间 找到存活对象 回收死亡对象的内存空间

自动内存管理一相关概念

Mutator:业务线程,分配新对象,修改对象指向关系 Collector:GC线程,找存活对象,回收死亡对象的内存空间 Serial GC:只有个 collector Parallel GC:支持多个 collectors同时回收的GC算法 ・ Concurrent GC: mutator(s)和 collector(s)可以同时执行