[TOC] runtime相关问题 面试题出自掘金的一篇文章《阿里、字节:一套高效的iOS面试题》该面试题解答github 地址版本目前已经完结,可自行下载pdf进行阅读,仅...
老哥你也太敷衍了把
浅谈dispatch_once实现原理
1. 概述 为了保证数据的一致性,在多线程编程中我们会用到锁,使得在某一时间点,只有一个线程进入临界区代码。虽然不同的语言可能会提供不同的锁接口,但是底层调用的都是操作系统的...
该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93dc4] 程序加载过程 在iOS程序中会用到很多系统的动态库,...
本文所读的源码,可以从这里找到,这是 Mach-O 系列的第一篇 我们的程序想要跑起来,肯定它的可执行文件格式要被操作系统所理解,比如 ELF 是 Linux下可执行文件的格...
初始化函数 Runtime 的由系统调用 _objc_init 进行初始化化 一、environ_init 读取环境配置方法,在这个方法里会读取在Xcode 中配置的环境变量...
LLDB是个开源的内置于XCode的调试工具,这里来理一理常用用法。lldb对于命令的简称,是头部匹配方式,只要不混淆,你可以随意简称某个命令。结果为在xcode下验证所得,...
load:当类和分类装载跟链接的时候,只要是实现了load方法就会调用,子类的调用会在父类调用之后,分类调用会在类之后 initialize:当第一次向类发送消息的时候调用,...
本文介绍NSDateFormatter的性能瓶颈,以及如何解决性能问题。 分别用NSDateFormatter和 C 的localtime()方法将时间转化成一个可读的字符串...
方法1:归纳法 方法2:动态规划
“冷启动”与“热启动” 主要区别: 名称区别冷启动启动时,App的进程不在系统里,需要开启新进程。热启动启动时,App的进程还在系统里,不需要开启新进程 APP启动时间的优化...
版权声明本文由陈怀哲首发自简书:http://www.jianshu.com/users/9f2e536b78fd/latest_articles;微信公众号:陈怀哲(che...
我有点不明白,NSRecursiveLock可以对同一个线程进行加锁,既然是在同一个线程,为什么还需要进加锁处理呢?
iOS中保证线程安全的几种方式与性能对比一、前言 前段时间看了几个开源项目,发现他们保持线程同步的方式各不相同,有@synchronized、NSLock、dispatch_semaphore、NSConditio...