iOS 内存管理面试题(内存管理方案)

内存管理方案
  • taggedPointer :存储小对象如NSNumber。深入理解Tagged Pointer
  • NONPOINTER_ISA(非指针型的isa):在64位架构下,isa指针是占64比特位的,实际上只有30多位就已经够用了,为了提高利用率,剩余的比特位存储了内存管理的相关数据内容。
  • 散列表:复杂的数据结构,包括了引用计数表和弱引用表
    通过SideTables()结构来实现的,SideTables()结构下,有很多SideTable的数据结构。
    而sideTable当中包含了自旋锁,引用计数表,弱引用表。
    SideTables()实际上是一个哈希表,通过对象的地址来计算该对象的引用计数在哪个sideTable中。

自旋锁:

  • 自旋锁是“忙等”的锁。
  • 适用于轻量访问。

引用计数表和弱引用表实际是一个哈希表,来提高查找效率。

热文推荐

2019 全网 iOS 面试题以及答案总结!

你可能感兴趣的:(iOS 内存管理面试题(内存管理方案))