前言: 請(qǐng)思考兩個(gè)問題。1. weak指針置為nil是線程安全的嗎?問詳細(xì)點(diǎn)就是:當(dāng)一個(gè)對(duì)象正在delloc時(shí),如果在另一個(gè)線程獲取了weak指針,這時(shí)獲取weak怎么保證線...
前言: 請(qǐng)思考兩個(gè)問題。1. weak指針置為nil是線程安全的嗎?問詳細(xì)點(diǎn)就是:當(dāng)一個(gè)對(duì)象正在delloc時(shí),如果在另一個(gè)線程獲取了weak指針,這時(shí)獲取weak怎么保證線...
閱讀本文后你將會(huì)進(jìn)一步了解Runtime的實(shí)現(xiàn),享元設(shè)計(jì)模式的實(shí)踐,內(nèi)存數(shù)據(jù)存儲(chǔ)優(yōu)化,編譯內(nèi)存屏障,多線程無鎖讀寫實(shí)現(xiàn),垃圾回收等相關(guān)的技術(shù)點(diǎn)。 objc_class(Cla...
weak基本用法 weak是弱引用,用weak描述修飾或者所引用對(duì)象的計(jì)數(shù)器不會(huì)加一,并且會(huì)在引用的對(duì)象被釋放的時(shí)候自動(dòng)被設(shè)置為nil,大大避免了野指針訪問壞內(nèi)存引起崩潰的情...
原文地址 野指針 當(dāng)所指向的對(duì)象被釋放或者收回,但是對(duì)該指針沒有作任何的修改,以至于該指針仍舊指向已經(jīng)回收的內(nèi)存地址,此情況下該指針便稱野指針 野指針異常堪稱crash界的半...
1. 內(nèi)存布局相關(guān) 學(xué)習(xí)鏈接堆區(qū)(heap): 向高地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),由鏈表實(shí)現(xiàn),內(nèi)存不連續(xù),由程序員管理 棧區(qū)(stack):向低地址擴(kuò)展的數(shù)據(jù)結(jié)構(gòu),由計(jì)算機(jī)管理 全局\...
1.NSObject包含了一些其他的方法,需要實(shí)現(xiàn)NSObject協(xié)議,可以用NSObject來表示id,但是不能用id來表示NSObject 2.id關(guān)鍵字在編譯的時(shí)候不會(huì)...
一、pre-main階段 ###1.Load dylibs 這一階段dylib會(huì)分析應(yīng)用依賴的dylib,找到mach-o文件,打開和讀取這些文件并驗(yàn)證有效性,接著會(huì)找到代碼...