美文网首页
iOS-13 内存管理面试题(讲一下 `iOS` 内存管理的理解

iOS-13 内存管理面试题(讲一下 `iOS` 内存管理的理解

作者: leesen | 来源:发表于2019-08-12 01:09 被阅读0次

    讲一下iOS内存管理的理解

    实际上是三种方案的结合

    1.TaggedPointer(针对类似于NSNumber的小对象类型)

    2.NONPOINTER_ISA(64位系统下)

    第一位的0或1代表是纯地址型isa指针,还是NONPOINTER_ISA指针。

    第二位,代表是否有关联对象

    第三位代表是否有C++代码。

    接下来33位代表指向的内存地址

    接下来有弱引用的标记

    接下来有是否delloc的标记....等等

    3.散列表(引用计数表、weak表)

    SideTables表在 非嵌入式的64位系统中,有 64张SideTable表

    每一张SideTable主要是由三部分组成。自旋锁、引用计数表、弱引用表。

    全局的引用计数之所以不存在同一张表中,是为了避免资源竞争,解决效率的问题。

    引用计数表中引入了分离锁的概念,将一张表分拆成多个部分,对他们分别加锁,可以实现并发操作,提升执行效率

    热文推荐

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

    作者:全网iOS面试题总结

    链接:https://www.jianshu.com/p/743b1dcf4ba0

    来源:简书

    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

          本文标题:iOS-13 内存管理面试题(讲一下 `iOS` 内存管理的理解

          本文链接:https://www.haomeiwen.com/subject/oigejctx.html