会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
syh-918
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
2021年6月18日
LLVM
摘要: 1. LLVM 是什么? 1.1 编译器集合 2.LLVM 能干嘛? 2.1开发编译器的插件 代码规范 3. 编译器架构 3.1 前端:词法分析(生成token),语法分析(生成语法树 AST), 生成中间代码 优化器:优化 后端:生产机器码 4.LLVM编译器架构特点 前端有多种,后端有多种,中间
阅读全文
posted @ 2021-06-18 14:06 syh-918
阅读(88)
评论(0)
推荐(0)
2021年6月2日
十大排序算法-排序
摘要: - (int)cmp:(NSArray *)array idx:(int)idx idx1:(int)idx1{ return [array[idx] intValue] - [array[idx1] intValue]; } - (void)swap:(NSMutableArray *)array
阅读全文
posted @ 2021-06-02 15:10 syh-918
阅读(51)
评论(0)
推荐(0)
2021年5月30日
线程安全,线程同步技术(线程安全解决方案)
摘要: 多线程带来的安全隐患 : 1. 一块资源可能被多个线程共享,也就是多个线程可能同时访问一块资源 2.比如多个线程访问一个对象,统一变量,同一文件。 3.当多个线程访问一块资源时,很容易引发数据错乱和数据安全问题 解决方案:线程同步技术,常用的线程同步技术 加锁 (多条线程 访问同一资源 才需要加锁
阅读全文
posted @ 2021-05-30 11:51 syh-918
阅读(117)
评论(0)
推荐(0)
多线程 GCD同步异步相关 GCD队列组
摘要: 0.多线程就是指从软件或者硬件上实现多个线程并发执行的技术。 1.OC里实现多线程的方案 :pthread,NSThread ,GCD,NSOperation 2.GCD 同步异步: dipath_async dispath_sync 3.GCD 串行并行: Concurrent 可以让多个任务并发
阅读全文
posted @ 2021-05-30 10:29 syh-918
阅读(102)
评论(0)
推荐(0)
2021年5月28日
引用计数存储,weak指针原理,autorelease原理
摘要: 引用计数存储 查看runtime源码 看retain release recount实现大致过程如下 1.1.判断是否小对象 1.2.判断是否优化过的isa指针 nonpoint isa 1.3.通过hash查找对应的散列表 1.4 找到对应引用计数值 +-1操作 散列表结构 {1.自旋锁 引用计数
阅读全文
posted @ 2021-05-28 17:43 syh-918
阅读(104)
评论(0)
推荐(0)
OC Copy探究
摘要: 1.copy的目的 生成一个独立的对象,不对原对象有影响 2. copy总结 copy mutablycopy NSString NSString 浅拷贝 NSMutableString 深拷贝 NSMutableString NSString 深拷贝 NSMutableString 深拷贝 NSD
阅读全文
posted @ 2021-05-28 16:47 syh-918
阅读(80)
评论(0)
推荐(0)
OC对象的内存管理 MRC下是怎么写代码的
摘要: 1.OC对手是使用引用计数来管理内存 2. MRC下是怎么写代码的 @interface ViewController () @property (retain, nonatomic) NSMutableArray *data; @property (retain, nonatomic) UITab
阅读全文
posted @ 2021-05-28 11:11 syh-918
阅读(49)
评论(0)
推荐(0)
iOS内存布局,Taged Pointer
摘要: 由低地址->高地址布局如下 1.保留区 -> 代码区(__Text) ->数据区(__Data) ->堆区 -> 栈区 ->内核区 1.1 数据区: 字符串常量 已初始化 全局变量 ,静态变量 未初始化 全局变量 ,静态变量 1.2 堆区: 通过alloc new malloc 等生成的对象 2.1
阅读全文
posted @ 2021-05-28 10:20 syh-918
阅读(95)
评论(0)
推荐(0)
2021年5月27日
CADisplayLink NSTimer准时么,有什么更好的解决方案。
摘要: 1.NSTimer 是依赖runLoop,runloop每跑一圈的任务不是一样的,每次花费的时间也不一致的,当最后一圈比较耗时时候,造成不准时 2.不准时使用方案:使用GCD定时器,GCD定时器直接跟系统内核挂钩不依赖于runloop //创建队列 dispatch_queue_t queue =
阅读全文
posted @ 2021-05-27 11:16 syh-918
阅读(111)
评论(0)
推荐(0)
CADisplaylnk NSTimer使用注意点,打破CADisplaylnk NSTimer造成的循环引用
摘要: CADisplaylnk NSTimer 会对target强引用,造成循环引用 target <->NSTimer 打破循环引用的三种方案: 1.在viewDidDisapper 停止定时器 至为nil 原理:暴力打破 2.使用直接调用block方法 NSTimer方法 原理: NSTimer->b
阅读全文
posted @ 2021-05-27 10:44 syh-918
阅读(75)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
公告