4-1 内存管理

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.引用计数表

2.iOS内存管理方案 [isa指针保存了内存管理的信息]

arm64位isa指针具体含义

你可能感兴趣的:(4-1 内存管理)