- 博客(4)
- 资源 (7)
- 收藏
- 关注
原创 iOS方法缓存-散列表
Class 内部结构中有个方法缓存( cache_t ), 用散列表来缓存曾经调用过的方法,可以提高方法的查找速度 每个类都有一个自己的方法列表数组,每次调用方法的时候,都会去找当前的类的方法数组看看有没有这个方法,如果没找到,就去父类寻找,不过,在这些之前,最先去缓存数组cache 里面找,如果是第一次调用,在方法列表里面找到这个方法之后,会把这个方法在父类和当前累的缓存数组里面各保存·...
2018-09-28 17:58:14 1166 1
原创 二分查找
func binarySearch(array:[Int], key:Int) -> Int {// 思路 :数组是有序的。//1、先创建两个值:起始下标 = 0,和结束下标 = 数组的总长度-1//2、先拿到数组的中间位置的值 =(起始下标 + 结束下标)///3,拿到步骤2获取到的中间下表值,// 如果key大于这个中间值,则取右半部分 start = midInde...
2018-09-28 17:53:44 97
原创 objc_msgSend 执行流程
objc_msgSend 执行流程01 :消息发送1、先判断消息发送者是否为空,如果为空,直接退出,如果不为空,就通过类对象的isa指针找到类对象的方法缓存数据,看看缓存数据里面是否有这个方法,如果有,直接调用,2、如果没有,就去类对象的方法数组里面去查找这个方法(如果这个方法是排好顺序的,就用二分查找,如果是没有顺序的,就用普通查找),如果找到,直接调用,然后往缓存数组里面写入一条数据...
2018-09-28 17:51:18 845
转载 泰勒公式浅谈原理(转) ----- 深度好文, 一点是如何蕴含整个世界
泰勒公式浅谈原理(转) 上周写完了《《三体》读后思考-泰勒展开/维度打击/黑暗森林》后收到一些邮件,进一步思考了关于泰勒展开的意义。也许我掌握的那些网络技术比如Linux Netfilter,NAT之类,太过底层太过小众,所以大家几乎都是没有感兴趣的,倒是这种科普性质的文章和那些吐槽类的文章,会引发一系列的互动,这对我来讲是好事,因为我喜欢跟人交流技术和思想。声明本来这篇文章...
2018-09-20 17:22:41 15787 4
libstdc--master.zip
2019-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人