![240](https://cdn2.jianshu.io/assets/default_avatar/6-fd30f34c8641f6f32f5494df5d6b8f3c.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
[TOC] runtime相關(guān)問題 面試題出自掘金的一篇文章《阿里、字節(jié):一套高效的iOS面試題》該面試題解答github 地址版本目前已經(jīng)完結(jié)弄诲,可自行下載pdf進行閱讀愚战,僅...
1. 概述 為了保證數(shù)據(jù)的一致性,在多線程編程中我們會用到鎖齐遵,使得在某一時間點寂玲,只有一個線程進入臨界區(qū)代碼。雖然不同的語言可能會提供不同的鎖接口洛搀,但是底層調(diào)用的都是操作系統(tǒng)的...
該文章屬于劉小壯原創(chuàng)敢茁,轉(zhuǎn)載請注明:劉小壯[http://www.reibang.com/u/2de707c93dc4] 程序加載過程 在iOS程序中會用到很多系統(tǒng)的動態(tài)庫佑淀,...
本文所讀的源碼留美,可以從這里找到,這是 Mach-O 系列的第一篇 我們的程序想要跑起來伸刃,肯定它的可執(zhí)行文件格式要被操作系統(tǒng)所理解谎砾,比如 ELF 是 Linux下可執(zhí)行文件的格...
初始化函數(shù) Runtime 的由系統(tǒng)調(diào)用 _objc_init 進行初始化化 一景图、environ_init 讀取環(huán)境配置方法,在這個方法里會讀取在Xcode 中配置的環(huán)境變量...
LLDB是個開源的內(nèi)置于XCode的調(diào)試工具碉哑,這里來理一理常用用法挚币。lldb對于命令的簡稱,是頭部匹配方式扣典,只要不混淆妆毕,你可以隨意簡稱某個命令。結(jié)果為在xcode下驗證所得贮尖,...
load:當(dāng)類和分類裝載跟鏈接的時候笛粘,只要是實現(xiàn)了load方法就會調(diào)用,子類的調(diào)用會在父類調(diào)用之后湿硝,分類調(diào)用會在類之后 initialize:當(dāng)?shù)谝淮蜗蝾惏l(fā)送消息的時候調(diào)用薪前,...
本文介紹NSDateFormatter的性能瓶頸,以及如何解決性能問題关斜。 分別用NSDateFormatter和 C 的localtime()方法將時間轉(zhuǎn)化成一個可讀的字符串...
“冷啟動”與“熱啟動” 主要區(qū)別: 名稱區(qū)別冷啟動啟動時痢畜,App的進程不在系統(tǒng)里例诀,需要開啟新進程随抠。熱啟動啟動時,App的進程還在系統(tǒng)里繁涂,不需要開啟新進程 APP啟動時間的優(yōu)化...
版權(quán)聲明本文由陳懷哲首發(fā)自簡書:http://www.reibang.com/users/9f2e536b78fd/latest_articles;微信公眾號:陳懷哲(che...
我有點不明白矿酵,NSRecursiveLock可以對同一個線程進行加鎖唬复,既然是在同一個線程,為什么還需要進加鎖處理呢全肮?
iOS中保證線程安全的幾種方式與性能對比一敞咧、前言 前段時間看了幾個開源項目,發(fā)現(xiàn)他們保持線程同步的方式各不相同辜腺,有@synchronized休建、NSLock、dispatch_semaphore评疗、NSConditio...