内存管理篇

image.png
image.png
image.png
image.png
image.png

对于不同场景,系统提供的有不同的内存管理方案,大致有如下三种:

-TaggedPointer (对于一些小对象,比如说NSNumber等采用此种方案)
-NONPOINTER_ISA (64位架构下iOS应用程序),实际上32位或40就够用,存储了内存管理的相关数据内容,提高了内存利用率
-散列表 (散列表为复杂的数据结构,包含了引用计数表和弱引用表)

sideTables为什么是好几张表8*8,SideTables的本质是一张Hash表
采用分离锁实现并发操作,解决了自旋锁“忙等”现象,Spinlock_t适用于轻量访问

引用计数表是通过哈希表来实现,提高查找效率,因为插入和查询都是通过同一个哈希算法或函数来实现的

image.png

内存管理方案详解

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容