- 博客(84)
- 收藏
- 关注
原创 Barrier 性能如何?
在处理容器的多线程问题, 难免会用到加锁的方式来处理, iOS开发中, 锁有以下几种:(1) 自旋锁 OSSpinLock(2) 互斥锁 pthread_mutex, NSLock, @synchronized(3) 读写锁 pthread_rwlock(5) 递归锁 NSRecursiveLock, pthread_mutex(recursive)(6) 信号量 dispat...
2018-09-15 19:54:15
1709
转载 初始汇编
计算机能识别的语言是机器语言,即0和1组成的指令,如0001,0111等,这种指令对于我们而言是不可读的,但是它与可编程语言(汇编语言)是一一对应的,每个汇编指令唯一对应于一条机器指令,而且汇编语言对应我们而言是可读的,这样我们从汇编入手,理解系统内核,明白高级语言代码的本质。高级语言运行的流程一般是:汇编语言可以通过编译得到机器语言,机器语言可以通过反汇编得到汇编语言高级语言可以通过编译得到汇编...
2018-07-15 12:05:19
561
原创 iOS 内存泄漏的常见场景
内存泄漏的常见场景CF类型内存注意以creat,copy作为关键字的函数都是需要释放内存的,注意配对使用。比如:CGColorCreate<-->CGColorReleaseMRC内存使用这部分不做详细介绍,也是注意配对使用,需要说明的是,如果代码中有部分文件是MRC的,在已有文件中加代码的时候注意一下,不能都按照ARC的方式处理。ARC内存使用ARC已经为我们做了很多封装,我们不必再...
2018-06-18 18:43:57
1010
原创 class_addMethod 简介
BOOL class_addMethod(Class _Nullable cls, SEL _Nonnull name, IMP _Nonnull imp, const char * _Nullable types)在runtime.h中定义, 其作用是给一个类添加新的方法及该方法的具体实现.其 返回值为 BOOL 类型, yes表示添加方法成功, no表示添加方法失败.参数介绍/** * A...
2018-06-15 17:08:12
1848
转载 毕业三到五年,别让“努力”毁了你
毕业,就像一个大大的句号,从此,我们告别了一段纯真的青春、一段年少轻狂的岁月、一个充满幻想的时代,纷纷走向了社会。 刚毕业的时候,作为职场新人,我们都拿着接近的薪水,干着相似的事情,大家都过得差不多。 然而三到五年过去了,渐渐大家的差距就出来了。小伙伴A已经成了公司里的技术骨干,带领着自己的小团队,开始参与公司决策的事情;小伙伴B已经在业内小有名气,公众号、知乎、博客上粉丝众多,自己已...
2018-05-31 13:58:14
540
原创 实现 iOS 内存检测工具
在 iOS 开发中 内存泄漏是常见的问题, 这里整理下常用的内存检测方法.一 静态检测方法使用XCode分析功能,Product->Analyze使用静态检测可以检查出一些明显的没有释放的内存,包括NSObject和CF开头的内存泄漏.缺点: 不能检测block导致的内存泄漏问题二 动态检测方法使用 instruments三 dealloc 重新检测重写dealloc 方法, 在界面返回或者...
2018-05-01 17:06:41
2494
原创 iOS逆向工具篇
一、安装 MonkeyDev (非越狱调试):非越狱机器或者使用Xcode调试第三方应用的时候有很多集成步骤,注入dylib,集成Reveal(UI分析工具)、class-dump(查看头文件工具)、Cycript(调试器)等等 !一、安装:Cycript地址1. 通过Cycript官网下载相关SDK2. 将解压后的文件直接放在硬盘opt文件夹下:3. 配置相关环境变量:打开终端,编辑.bash_...
2018-04-22 23:42:30
1378
2
原创 git : refusing to merge unrelated histories
fatal: refusing to merge unrelated histories(non-fast-forward)错误解决
2017-10-26 15:35:00
1862
原创 message sent to deallocated instance
[Obj retain] message sent to deallocated instance 错误解决方案
2017-09-24 21:28:28
2719
原创 将本地项目提交github
1.在gitHub 上 new repositories2.进入工程文件所在文件目录,git init3.git add -A (进入文件 添加文件,-A表示添加全部文件)4.git commit -m “提交备注”5.git remote add origin url(该url是你new repositories后的url)6.git pull –rebase origin
2017-09-23 21:55:48
342
原创 Return
Return 回归自从找完工作后, 一直忙于毕业相关的事宜, 没有再更新自己的技术博客. 毕业入职后又由于各种原因, 期间也没能写过任何的技术博客, 深感惭愧. 今天在闲娱时刻, 回归本心, 重新开始自己的技术之旅, 加油~
2017-09-09 10:39:44
342
原创 Swap Nodes in Pairs -- leetcode
题目描述: Given a linked list, swap every two adjacent nodes and return its head.
2016-08-30 16:33:07
410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人