传输数据 movx source, destination 1、把立即数传送到寄存器和内存中 movl $0, %eax 0 to eax寄存器movl $0x80, %...
传输数据 movx source, destination 1、把立即数传送到寄存器和内存中 movl $0, %eax 0 to eax寄存器movl $0x80, %...
HTTPS 涉及的知识点:1、数字证书2、数字签名3、对称加密4、非对称加密 参考用故事说透 HTTPS
同步,异步,串行,并行
Tagged Pointer通常创建对象,对象存储在堆中,对象的指针存储在栈中。我们要找到这个对象,就需要先在栈中,找到指针,然后通过指针找到堆中的对象。 这个过程比较繁琐,...
总结:weak 是Runtime维护了一个hash(哈希)表,用于存储指向某个对象的所有weak指针。weak表其实是一个hash(哈希)表,Key是所指对象的地址,Valu...
苹果将ISA设计成了联合体,在ISA中存储了与该对象相关的一些内存信息,因为 并不需要64个二进制全部都用来存储指针ISA 的结构 这里的 has_sidetable_rc ...
线程安全的NSMutableArray NSMutableArray本身是线程不安全的。多线程访问NSMutableArray 会出现异常和Crash 一、不能使用atomi...
Block Block 是C语言的扩充功能。是带有自动变量(局部变量)的匿名函数 Block 几种类型 1、_NSConcreteStackBlock 该类的对象Bloc...
KVC 键值编码 使用字符串直接访问对象的属性 底层实现,当一个对象调用setValue方法时,方法内部会做以下操作:1、检查是否存在相应key的set方法,如果存在,就调用...
Category 的实现原理 Category 实际上是Category_t的结构体,在运行时,新添加的方法,都被以倒序插入到原有方法列表的最前面,所以不同的Category...
AutoreleasePool 与Runloop 关系 主线程默认会开启Runloop, Runloop 会自动帮我们创建AutoreleasePool,并进行Push,po...
layoutSubViews 方法 layoutSubviews 方法是用来设定subview的位置的方法, 是不能手动调用的。只能通过调用setNeedsLayout 方法...
Pod install 会执行以下的操作:1、初始化全局config,将Podfile执行解析成对象,通过eval执行2、prepare 准备工作检查安装目录,必须在项目根目...
OSSpinLock OSSpinLock 自旋锁,不会让等待的线程进入睡眠状态,效率高。OSSpinLock 不能保证安全。系统维护了5个不同的线程优先级/QoS: bac...
关于synchronized 问题:1、锁是如何和与你传入的@synchronized的对象关联上的?2、@synchronized 会保持(retain, 增加引用计数)被...
dispatch_once 是线程安全的 首次调用dispatch_once时,因为外部传入的dispatch_once_t变量值为nil,故vval会为NULL,故if判断...
线程池管理器(CustomThreadPool): 用于创建并管理线程池工作线程(CustomWorker):线程池中线程任务接口(基类)(CustomTask):每个任务必...
runloop和线程一一对应runloop包含多个mode, mode包含多个 mode item(sources,timers,observers)runloop一次只能运...