傳輸數(shù)據(jù) movx source, destination 1、把立即數(shù)傳送到寄存器和內(nèi)存中 movl $0, %eax 0 to eax寄存器movl $0x80, %...
傳輸數(shù)據(jù) movx source, destination 1、把立即數(shù)傳送到寄存器和內(nèi)存中 movl $0, %eax 0 to eax寄存器movl $0x80, %...
Tagged Pointer通常創(chuàng)建對象,對象存儲在堆中谱邪,對象的指針存儲在棧中炮捧。我們要找到這個對象,就需要先在棧中惦银,找到指針咆课,然后通過指針找到堆中的對象。 這個過程比較繁瑣扯俱,...
總結(jié):weak 是Runtime維護(hù)了一個hash(哈希)表傀蚌,用于存儲指向某個對象的所有weak指針。weak表其實(shí)是一個hash(哈希)表蘸吓,Key是所指對象的地址善炫,Valu...
蘋果將ISA設(shè)計(jì)成了聯(lián)合體,在ISA中存儲了與該對象相關(guān)的一些內(nèi)存信息库继,因?yàn)?并不需要64個二進(jìn)制全部都用來存儲指針I(yè)SA 的結(jié)構(gòu) 這里的 has_sidetable_rc ...
線程安全的NSMutableArray NSMutableArray本身是線程不安全的箩艺。多線程訪問NSMutableArray 會出現(xiàn)異常和Crash 一、不能使用atomi...
AutoreleasePool 與Runloop 關(guān)系 主線程默認(rèn)會開啟Runloop, Runloop 會自動幫我們創(chuàng)建AutoreleasePool弄兜,并進(jìn)行Push药蜻,po...
layoutSubViews 方法 layoutSubviews 方法是用來設(shè)定subview的位置的方法瓷式, 是不能手動調(diào)用的。只能通過調(diào)用setNeedsLayout 方法...
Pod install 會執(zhí)行以下的操作:1语泽、初始化全局config贸典,將Podfile執(zhí)行解析成對象,通過eval執(zhí)行2踱卵、prepare 準(zhǔn)備工作檢查安裝目錄瓤漏,必須在項(xiàng)目根目...
OSSpinLock OSSpinLock 自旋鎖,不會讓等待的線程進(jìn)入睡眠狀態(tài)颊埃,效率高蔬充。OSSpinLock 不能保證安全。系統(tǒng)維護(hù)了5個不同的線程優(yōu)先級/QoS: bac...
關(guān)于synchronized 問題:1班利、鎖是如何和與你傳入的@synchronized的對象關(guān)聯(lián)上的饥漫?2、@synchronized 會保持(retain, 增加引用計(jì)數(shù))被...
dispatch_once 是線程安全的 首次調(diào)用dispatch_once時罗标,因?yàn)橥獠總魅氲膁ispatch_once_t變量值為nil庸队,故vval會為NULL,故if判斷...
線程池管理器(CustomThreadPool): 用于創(chuàng)建并管理線程池工作線程(CustomWorker):線程池中線程任務(wù)接口(基類)(CustomTask):每個任務(wù)必...
runloop和線程一一對應(yīng)runloop包含多個mode, mode包含多個 mode item(sources,timers,observers)runloop一次只能運(yùn)...