原创 聊聊從iOS固件提取系統庫符號

“民之失德,乾餱以愆;他山之石,可以攻玉。”- 《詩經》          當程序發生崩潰並有機會獲取到崩潰堆棧時,還原崩潰堆棧從而定位錯誤顯得非常重要。用戶符號的還原非常簡單,因爲在打包 APP 時,會生成對應的符號文件(以 .dSYM

原创 ReentrantLock及AQS淺談

一、AQS簡介        AQS全稱AbstractQueuedSynchronizer,是java併發包中的一個類,該類更像是一個框架,提供了一些模板方法供子類實現,從而實現了不同的同步器,如下圖所示。ReentrantLock,Re

原创 Android自動化測試工具實現簡述

前言        自動化測試在產品開發和測試中都有着非常重要的作用。在產品開發階段,可靠又重複性地運行以確保沒有引進迴歸問題;在產品測試階段,可以節省人力成本和時間成本,並能保證更大範圍的覆蓋。Android自動化測試工具同樣可以節省不少

原创 RocketMQ源碼閱讀

  RocketMQ 是一款開源的消息中間件,採用Java實現,設計思想來自於Kafka(Scala實現),在具體設計時體現了自己的選擇和需求,具體差別可以看RocketMQ與Kafka對比。接下來是自己閱讀源碼的一些探索。       

原创 Android NDK編譯選項設置

在Android NDK開發中,有兩個重要的文件:Android.mk和Application.mk,各盡其責,指導編譯器如何編譯程序,並決定編譯結果是什麼。本文將詳細說明幾個常見的NDK選項的配置,幫助大家理解相應的配置選項。     一

原创 iOS崩潰堆棧信息的符號化解析

  最近一段時間,在iOS開發調試過程中以及上線之後,程序經常會出現崩潰的問題。簡單的崩潰還好說,複雜的崩潰就需要我們通過解析Crash文件來分析了,解析Crash文件在iOS開發中是比較常見的。但在跟開發者溝通過程中,雲捕小編髮覺大家對i

原创 RocketMQ源碼閱讀

  RocketMQ 是一款開源的消息中間件,採用Java實現,設計思想來自於Kafka(Scala實現),在具體設計時體現了自己的選擇和需求,具體差別可以看RocketMQ與Kafka對比。接下來是自己閱讀源碼的一些探索。       

原创 高手談Android NDK C++ RTTI 分析

  本文意在說明Android NDK 在實現C++ RTTI時的相關數據結構,並從彙編角度分析其內存佈局,以幫助理解RTTI的實現原理,同時,分析在逆向過程中如何利用RTTI恢復C++類名信息。        用ndk-build編譯C+

原创 Android快速批量多渠道包的“蛋生”

對於安卓程序猿朋友來說,每當發佈新版本的APP,均會分發到各大應用市場,比如騰訊應用寶,豌豆莢和360手機助手等。爲了讓程序猿同志們更好的區分不同的應用市場,掌握各市場APP發展狀況,爲了更多體現世界對程序猿的關愛,我們的多渠道包誕生啦。 

原创 iOS崩潰堆棧信息的符號化解析

  最近一段時間,在iOS開發調試過程中以及上線之後,程序經常會出現崩潰的問題。簡單的崩潰還好說,複雜的崩潰就需要我們通過解析Crash文件來分析了,解析Crash文件在iOS開發中是比較常見的。但在跟開發者溝通過程中,雲捕小編髮覺大家對i

原创 ReentrantLock及AQS淺談

一、AQS簡介        AQS全稱AbstractQueuedSynchronizer,是java併發包中的一個類,該類更像是一個框架,提供了一些模板方法供子類實現,從而實現了不同的同步器,如下圖所示。ReentrantLock,Re

原创 Android NDK編譯選項設置

在Android NDK開發中,有兩個重要的文件:Android.mk和Application.mk,各盡其責,指導編譯器如何編譯程序,並決定編譯結果是什麼。本文將詳細說明幾個常見的NDK選項的配置,幫助大家理解相應的配置選項。     一

原创 RocketMQ源碼閱讀

  RocketMQ 是一款開源的消息中間件,採用Java實現,設計思想來自於Kafka(Scala實現),在具體設計時體現了自己的選擇和需求,具體差別可以看RocketMQ與Kafka對比。接下來是自己閱讀源碼的一些探索。       

原创 RocketMQ源碼閱讀

  RocketMQ 是一款開源的消息中間件,採用Java實現,設計思想來自於Kafka(Scala實現),在具體設計時體現了自己的選擇和需求,具體差別可以看RocketMQ與Kafka對比。接下來是自己閱讀源碼的一些探索。       

原创 聊聊從iOS固件提取系統庫符號

“民之失德,乾餱以愆;他山之石,可以攻玉。”- 《詩經》          當程序發生崩潰並有機會獲取到崩潰堆棧時,還原崩潰堆棧從而定位錯誤顯得非常重要。用戶符號的還原非常簡單,因爲在打包 APP 時,會生成對應的符號文件(以 .dSYM