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

讲一下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中内存管理机制是开发中一项很重要的知识,了解iOS中内存管理的规则不管是在开发中还是在学习中都能很大程度的帮...
    Mr_Atom阅读 8,675评论 1 4
  • iOS中内存管理机制是开发中一项很重要的知识,了解iOS中内存管理的规则不管是在开发中还是在学习中都能很大程度的帮...
    Horson19阅读 4,906评论 0 4
  • iOS中内存管理机制是开发中一项很重要的知识,了解iOS中内存管理的规则不管是在开发中还是在学习中都能很大程度的帮...
    Horson19阅读 5,928评论 0 7
  • 原文链接OC内存管理--引用计数器 更新于2020-02-14 更新Tagged Pointer的知识点 引用计数...
    NeroXie阅读 6,831评论 0 6
  • 1、内存布局 stack:方法调用 heap:通过alloc等分配对象 bss:未初始化的全局变量等。 data:...
    AKyS佐毅阅读 5,517评论 0 19