
我們很少關注應用啟動前,系統會給我們做些什么事情,可能知道+ load和constructor會在main方法之前執行。那么這次我們來看看mai...
在平時的iOS開發中,我們大部分還是依靠著最早的MVC的思想開發著,最多也是進行了部分變種,比如MVP,MVVM,這些都是完全的面向對象的思想,...
多線程編程一直是一個非常難的話題,而資源競爭和死鎖問題則是比較常見的多線程問題,這里我們來看看如何檢測這些問題。 LLVM 其實llvm項目自身...
相信大家在學習C語言的時候,malloc是最早遇到的幾個方法之一,這里就來深入的了解下,macOS/iOS中用戶空間的內存分配。 引言 首先,我...
內存柵欄(Memory fence),也稱為內存屏障(Memory barrier),以前碰到這類概念都是基于鎖的理解,比如dispatch_b...
在處理異步過程中,我們經常會碰到這種情況,需要異步處理并異步回調completionHandler,但是有些場景下,如果你在處理完異步邏輯,而不...
我們都認為C語言是一種非常靜態的語言,幾乎沒有什么動態特性,同時往往在編譯器就決定了整個運行方式,運行期是很難改變其運行狀態的。其實C語言也是可...
在之前做debug工具的時候,就有一個想法,在頁面產生卡頓的時候,如果能夠獲取主線程的函數調用棧就好了,就可以分析出哪里出現了性能瓶頸。由于當時...
在平時開發和調試中,經常遇到C調用棧和匯編,所以這里來統一的了解下這部分內容,本章需要一定的匯編基礎才能更好的理解。 函數簽名 在JavaScr...