Runtime底层

作者: 春风依旧 | 来源:发表于2019-05-20 23:34 被阅读0次
一、Runtime的介绍:
  • Objective-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同
  • Objective-C的动态性是由Runtime API来支撑的
  • Runtime API提供的接口基本都是C语言的,源码由C\C++\汇编语言编写
二、Runtime的底层结构:
1、isa 详解:
  • 在arm64架构之前,isa就是一个普通的指针,存储着Class、Meta-Class对象的内存地址
  • 从arm64架构开始,对isa进行了优化,变成了一个共用体(union)结构,还使用位域来存储更多的信息
union isa_t 
{
    Class cls;
    uintptr_t bits;
    struct {
        uintptr_t nonpointer        : 1;
        uintptr_t has_assoc         : 1;
        uintptr_t has_cxx_dtor      : 1;
        uintptr_t shiftcls          : 33; 
        uintptr_t magic             : 6;
        uintptr_t weakly_referenced : 1;
        uintptr_t deallocating      : 1;
        uintptr_t has_sidetable_rc  : 1;
        uintptr_t extra_rc          : 19;
};

相关文章

  • 2019-03-02

    Runtime Objective-C Runtime iOS底层原理探究-Runtime isa 和 Class...

  • Runtime初体验

    Runtime介绍: runtime官方文档字面翻译:ios中的黑魔法!!! runtime(运行时):底层C语言...

  • 关于runtime的介绍及使用

    一、runtime 是什么? runtime 是 OC底层的一套C语言的API(引入

  • iOS runtime(hook)

    Runtime – 运行时(iOS的黑魔法!!) runtime是OC的底层实现,可以静心一些非常底层的操作(OC...

  • Runtime学习

    rutime基本概念 runtime是什么 runtime是属于OC的底层,是一套比较底层的纯C语言API, 属于...

  • Runtime底层

    一、Runtime的介绍: Objective-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同 ...

  • 底层-Runtime

    Objective-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同 Objective-C的动态...

  • Runtime 10种用法

    转载runtime文章收集: runtime简介: Runtime 又叫运行时,是一套底层的 C 语言 API,其...

  • 可能碰到的iOS笔试面试题(22)--Runtime

    Runtime Runtime是什么 Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内...

  • iOS-Runtime

    RunTime简介1.runtime是 OC 的底层实现, runtime API 都是纯 c 代码.2.所有类中...

网友评论

    本文标题:Runtime底层

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