1.内存布局
内核区:
栈区 stack:向下增长。 方法或者函数
堆区 [程序员分配]:向上增长 通过alloc
text:程序代码
未初始化区
2.iOS内存管理方案 [isa指针保存了内存管理的信息]
1.小对象
2.NON_POINter_ISA。extra_rc保存了相关的引用计数值
【isa】指针存储的东西。非指针行的isa
3.散列表 内存管理方案
Side Tables()结构.
Side Table。共同组成 Side Tables 结构 本质是一张hash表
spinlock_t 自旋锁
RefcountMap 引用计数表
weak_table_t 弱引用表
为什么不是一张?
一张表。对象太多 查找对象 效率太低
解决效率问题:分离锁 [分开多表 来锁住这些]
4.引用计数表
网友评论