原创 【實習週記】Android中ProtoBuf的使用與序列化原理

【實習週記】Android中ProtoBuf的使用與序列化原理 一.概述 protobuf(Protocol Buffer)是Google推出的一種與語言無關、平臺無關、可擴展的序列化結構數據的方法。在兼容性和傳輸效率上優於Jso

原创 【Java】JDK源碼分析——StringBuffer

StringBuffer源碼分析一.概述二.源碼分析1.全局變量2.常用的構造方法1)無參數2)參數爲int3)參數爲String3.length方法4.capacity方法5. ensureCapacity方法6.trimToS

原创 【Java】JDK源碼分析——StringBuilder

StringBuilder源碼分析一.概述二.源碼分析1.全局變量2.常用的構造方法1)無參數2)參數爲int3)參數爲String3.append方法4.delete方法5.replace方法6. insert方法7.index

原创 【Java】JDK源碼分析——AbstractStringBuilder

AbstractStringBuilder源碼分析一.概述二.源碼分析1.重要的全局變量2.構造方法3. length方法4. capacity方法5. ensureCapacity方法1)ensureCapacityIntern

原创 【Java】JDK源碼分析——String

String源碼分析一.概述二.源碼解析1.重要的全局變量2.常用的構造方法1)無參數2)參數爲String3)參數爲char[]4)參數爲byte[]5)參數爲StringBuffer6)參數爲StringBuilder3. l

原创 【Android】SharedPreferences源碼分析,全網最全!

SharedPreferences源碼分析一.SharedPreferences的創建:1.獲取SharedPreferences對象1)getSharedPreferencesCacheLocked方法2)checkMode方法

原创 Java中實現快速傅里葉變換FFT

Java中實現快速傅里葉變換FFT一.概述1.傅里葉變換(FT)2.離散傅里葉變換(DFT)3.快速傅里葉變換(FFT)1)單位根2)快速傅里葉變換的思想3)蝶形圖4)快速傅里葉變換的逆變換(IFFT)二.代碼實現1.複數的實現1

原创 [圖解]Android源碼分析——ContentProvider的啓動過程

ContentProvider的啓動過程ContentProvider的啓動過程一.query方法調用AMSContextWrapper.java中getContentResolver方法的執行過程:ContextImpl.jav

原创 [圖解]Android源碼分析——BroadcastReceiver的註冊、發送和接收過程

BroadcastReceiver的註冊、發送和接收過程廣播的註冊過程ContextWrapper.java中registerReceiver方法的執行過程:ContextImpl.java中registerReceiverInt

原创 [圖解]Android源碼分析——Service的啓動和綁定過程

Service的啓動和綁定過程Service的啓動過程一.ContextImpl調用AMSContextWrapper.java中startSevice方法的執行過程:ContextImpl.java中startService的執

原创 [圖解]Android源碼分析——Activity的啓動過程

Activity的啓動過程一.Launcher進程請求AMSLauncher.java的startActivitySafely方法的執行過程:Activity.java中startActivity方法的執行過程:startActi

原创 編譯原理總結,看這一篇就夠了!

編譯原理總結第一章 編譯概述一.翻譯程序的三種方式二.編譯程序的五個階段第二章 文法與語言2.1 符號串和語言2.1.1 字母表2.1.2 符號串2.1.3 語言2.2 文法和語言的形式化定義2.2.1 文法的形式化定義2.2.2

原创 深入理解ActivityManagerService,你知道的不知道的全在這裏!

理解ActivityManagerService一.與ActivityMangerService相關的類1.Android7.0版本中與AMS相關的類2.Android8.0版本中與AMS相關的類二.ActivityManager

原创 【實習週記】SparseArray源碼分析

【實習週記】SparseArray源碼分析 一.概述 SparseArray是Android中的容器,適用於Android這種對內存非常敏感的移動平臺,用來存儲鍵值對,適用於數據量不大,key必須爲int類型的情況。 Sparse

原创 【實習週記】ArrayMap源碼分析

【實習週記】ArrayMap源碼分析 一.概述 ArrayMap是Android專門針對內存優化而設計的,用於取代Java API中的HashMap數據結構。 內部通過兩個數組實現,存儲結構如下 二.主要方法的源碼分析 1.重要字