首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
joker_king
掘友等级
iOS开发工程师
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 8
沸点 3
赞
11
返回
|
搜索文章
最新
热门
数据结构与算法-数据结构绪论
“早期人们都把计算机理解为数值计算工具,就是感觉计算机当然是用来计算的,所以计算机解决问题,应该是先从具体问题中抽象出一个适当的数据模型,设计出一个解此数据模型的算法,然后再编写程序,得到一个实际的软件。 可现实中,我们更多的不是解决数值计算的问题,而是需要一些更科学有效的手段…
iOS 原理探索-Block(一)
Block是C语言的扩充功能。用一句话来形容Block的扩展功能:带有自动变量(局部变量)的匿名函数。 Block语法单从其记述方式上来看,除了没有名称以及带有**^外,其他的都与C语言的函数定义相同。在C**语言定义函数时,就可以将函数的地址赋值给函数指针类型的变量。 通过和…
iOS 原理探索-读写锁
读写锁是计算机程序的并发控制的一种同步机制,也称“共享-互斥锁”、多读者-单写者锁。读操作可并发重入,写操作是互斥的。 使用两把互斥锁与一个整数计数器实现。计数器condition跟踪被阻塞的读线程。互斥锁rlock保护condition,供读者使用。互斥锁wlock 确保写操…
iOS 原理探究-自旋锁
线程反复检查锁变量是否可用。由于线程在这一过程中保持执行, 因此是一种忙等待。一旦获取了自旋锁,线程会一直保持该锁,直至显式释 放自旋锁。 自旋锁避免了进程上下文的调度开销,因此对于线程只会阻塞很 短时间的场合是有效的。 单核CPU不适于使用自旋锁,这里的单核CPU指的是单核单…
iOS 原理探究-互斥锁
在编程中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。 互斥锁又分为递归锁和非递归锁。 递归锁是一种可以多次…
iOS 简单工厂模式
简单工厂模式属于创建型模式,又叫做静态工厂方法模式。是一个由工厂对象来决定创建哪一种产品类型的实例。简单来说就是通过传入不同的类型,来决定具体创建那个类型的实例,这些实例都有一个共同的特性,那就是具有公共的抽象父类。 具体的操作类,继承自抽象类。拥有抽象类中的所有属性和方法。 …
iOS 多线程(一)
从狭义的定义上来讲,进程是正在运行的程序的实例。进程是能够独立运行的基本单元,也是系统分配和调度资源的基本单元。每个进程之间都是独立,进程拥有一块专用并且受保护的内存。 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行…
iOS KVC底层原理
KVC的全称叫Key-Value Coding,也叫做键值编码,在apple官方文档中是这么解释的。 键值编码是NSKeyValueCoding非正式协议支持的一种机制,对象采用这种机制来提供对其属性的间接访问。当对象符合键值编码时,可通过简洁,统一的消息传递接口通过字符串参数…
iOS MethodSwizzled坑点
我们的MethodSwizzled在+(void)load方法中执行交换操作后,如果在其他地方在主动调用一次的话那么之前交换过的方法又会被交换回去,效果就等于是没有交换。 解决的方案就是使用单利设计模式,保证方法交换的代码只被执行一次。 如果交换的方法是父类的方法,就会导致父类…
iOS weak实现原理
我们日常开发中经常是使用weak关键字来解决循环引用的问题,原因是被weak引用的对象它的引用计数不会增加,而且在这个对象被释放的时候被weak修饰的变量会自动置空,不会造成野指针的问题,相对来说比较安全。那么weak底层究竟是如何实现的呢?接下来我们一起来探究weak的实现原…
下一页
个人成就
文章被点赞
48
文章被阅读
68,421
掘力值
1,763
关注了
11
关注者
40
收藏集
1
关注标签
16
加入于
2017-12-14