首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS底层-isa

    这一篇我们分析消息的走态 isa走势图 Root class (class)其实就是NSObject,NSObject是没有超类的,所以Root class(class)的superclass指向nil...每个Meta class的isa指针都指向Root class (meta)。...isa 又是什么? 所谓isa指针,在OC中对象的声明是这样的 对象本身是一个带有指向其类别isa指针的结构体。 当向一个对象发送消息的时候,实际上是通过isa在对象的类别中找到相应的方法。...从上面类别的结构看来,类别也是一个对象,它拥有一个指向其父类的指针,和一个isa指针。当一个类别使用类方法时,类别作为一个对象同样会使用isa指针找到类方法的实现。...这时,isa指向的就是这个类别的元类。 也就是说 众所周知Objective-C(以下简称OC)中的消息机制。消息的接收者可以是一个对象,也可以是一个类。

    48510

    指令集架构(ISA)之IBM Power ISA开源应对​RISC-V生态(13k字)

    不管Big Blue如何开源,但Power的颓势很难扭转,商业上x86已经垄断了服务器市场,Power服务器的空间主要在银行金融等应用场景,这是个商业和生态的问题。...据Rick先生介绍,一旦某种应用选择了一种ISA,那么就决定了其上层的软件层面和下层的硬件层。PC、手机、服务器等领域,软件都已经非常成熟,所以选择另一种ISA,也很难对于上层的软件实现适配。...对服务器(或电脑)性能产生影响的是对于某一个ISA的实现。...服务器和高性能计算领域也越来越多向x86迁移也是这个原因。苹果放弃的是Power PC,和服务器领域用的Power芯片差别还是挺大的。Power和intel x86对比,要看怎么比了。...现在我们单位机房里大部分都是IBM的服务器,基于x86的是PC服务器,基于Power架构的的是小型机,核心的系统基本都是跑在小型机上IBM自家的AIX系统上的,外围系统和业务量小的系统才会跑在PC服务器

    2.8K20

    面试驱动技术之 - isa && 元类 && 函数调用

    伪装成首页.jpg 面试驱动技术之 - 带着面试题来找答案 一个NSObject 对象,占用多少内存 对象方法 与 类方法的存放在哪 什么是isa指针 什么是meta-class megsend 是如何找到方法的...// 转成c/c++ 代码后,MNPerson 的结构如下 struct NSObject_IMPL { Class isa; }; struct MNPerson_IMPL { struct...一个NSObject 对象,占用多少内存 思路: 由上面可知,NSObject的本质是结构体,通过NSObject.m 可以发现,NSObject 只有一个 isa 成员,isa 的本质是 class...read 0x000060000000eb90 0x60000000eb90: a8 6e 3a 0b 01 00 00 00 00 00 00 00 00 00 00 00 也能发现,前8 位存储 isa...默认创建的时候,分配的内容是16 isa = 8, int age = 4, int height = 4, NSString = char * = 8 最终分配: 8 + 4 + 4 + 8 = 24

    92920

    英伟达CUDA指令集架构(ISA)介绍

    英伟达CUDA指令集架构(ISA)是CUDA技术的核心部分,它定义了GPU如何理解和执行程序中的指令。...尽管详细的ISA细节通常对普通开发者来说是透明的,因为大多数开发者通过高级语言(如C/C++)编写CUDA代码,了解其基本原理有助于深入理解CUDA的工作方式和优化代码。 1....向量和标量指令 - CUDA ISA支持标量指令(作用于单个数据元素)和向量指令(同时作用于多个数据元素,如SIMD指令),这对于数据并行操作特别高效。 4....特殊功能单元 - GPU内部可能包含专用于特定类型计算的功能单元,如浮点数运算、整数运算、双精度运算等,ISA会定义如何调用这些单元。 9....编程模型接口 - 虽然ISA是底层的,但通过CUDA编程模型,如CUDA C/C++,开发者可以通过高层API和关键字(如`__global__`, `__shared__`)间接控制ISA层面的特性,

    45510

    「类与对象」说一说isa指针

    概要 在讲isa指针前,我们先来看一道经典的面试题: 对象的isa指针指向哪里? 看到这道题,心中可能朦朦胧胧有些答案,也可能不太确定,抑或说不明白。那咱就带着这个问题,揭开isa指针的神秘面纱。...这篇文章主要就isa的作用、数据结构以及如何优化等方面进行讲解。...isa的作用 在文章NSObject对象的分类中,详细讲解了isa指针的指向、如何寻找实例方法和类方法以及如何通过isa指针找到类对象和元类对象的。...基本总结一下,instance对象的isa指向instance对象所对应的Class对象,Class对象的isa指向Class对象所对应的MetaClass对象。...struct objc_object { Class isa; } *id; 在ARM64结构下,isa的类型变成了共用体(union),使用了位域去存储更多信息。

    70220

    「类与对象」说一说isa指针

    在讲isa指针前,我们先来看一道经典的面试题: 对象的isa指针指向哪里? 看到这道面试题,心中可能朦朦胧胧有些答案,也可能不太确定,抑或说不明白。 那咱就带着这个问题,揭开isa指针的神秘面纱。...isa的作用 在文章NSObject对象的分类中,详细讲解了isa指针的指向、如何寻找实例方法和类方法以及如何通过isa指针找到类对象和元类对象的。...以及instance对象的isa指向instance对象所对应的Class对象,Class对象的isa指向Class对象所对应的MetaClass对象。...isa结构变化 在ARM 32位的时候,isa的类型是Class类型的,直接存储着实例对象或者类对象的地址, 具体结构如下所示: typedef struct objc_class *Class; typedef...struct objc_object { Class isa; } *id; 在ARM64结构下,isa的类型变成了共用体(union),并且使用了位域去存储更多信息。

    37220
    领券