原创 多線程併發 (七) 線程池

多線程併發 (一) 瞭解 Java 虛擬機 - JVM 多線程併發 (二) 瞭解 Thread多線程併發 (三) 鎖 synchronized、volatile 多線程併發 (四) 瞭解原子類 AtomicXX 屬性地址偏移量多線程併發

原创 2020 啓程 ● 萬般滋味 ● 皆是生活

目錄: 過去的自己 模塊學習 Android自定義View 性能優化 多線程併發編程 C/C++ NDK 開發流程 實現 OpenCV 身份證銀行卡數字識別 FrameWork 源碼 換膚、熱修復原理 音視頻 ffmpeg的編譯、算法 計

原创 源碼學習《7》Classloader 類加載機制 (熱修復 2)實現篇

通過上一篇對Classloader的分析,對classloader的原理有了初步的瞭解。今天就在瞭解的基礎上實現類的熱修復。在做熱修復之前首先我們來看看 MutilDexEnable 這個屬性。 1. MutilDexEnable 指定c

原创 多線程併發 (三) 鎖 synchronized、volatile

章節:多線程併發 (一) 瞭解 Java 虛擬機 - JVM多線程併發 (二) 瞭解 Thread多線程併發 (三) 鎖 synchronized、volatile多線程併發 (四) 瞭解原子類 AtomicXX 屬性地址偏移量,CAS機

原创 多線程併發 (一) 瞭解 Java 虛擬機 - JVM

章節:多線程併發 (一) 瞭解 Java 虛擬機 - JVM多線程併發 (二) 瞭解 Thread多線程併發 (三) 鎖 synchronized、volatile多線程併發 (四) 瞭解原子類 AtomicXX 屬性地址偏移量,CAS機

原创 多線程併發 (四) 瞭解原子類 AtomicXX 屬性地址偏移量,CAS機制

章節:多線程併發 (一) 瞭解 Java 虛擬機 - JVM多線程併發 (二) 瞭解 Thread多線程併發 (三) 鎖 synchronized、volatile多線程併發 (四) 瞭解原子類 AtomicXX 屬性地址偏移量,CAS機

原创 多線程併發 (六) 瞭解死鎖

總結: 多線程併發 (一) 瞭解 Java 虛擬機 - JVM 學習知道了創建一個線程會觸發JVM創建一個私有的虛擬機棧、程序計數器,當前的虛擬機棧內存就是當前線程的運行內存,程序計數器就是記錄當前線程運行的代碼的地址。 多線程併發 (二

原创 源碼學習《6》Classloader 類加載機制 (熱修復 1)原理篇

不管是android 還是java項目我們知道我們的java文件都會通過 javac命令編譯成二進制class文件,然後虛擬機再通過classloader類對class文件進行加載生成Class對象。其中java 和 android的cl

原创 多線程併發 (五) ReentrantLock 使用和源碼

章節:多線程併發 (一) 瞭解 Java 虛擬機 - JVM多線程併發 (二) 瞭解 Thread多線程併發 (三) 鎖 synchronized、volatile多線程併發 (四) 瞭解原子類 AtomicXX 屬性地址偏移量,CAS機

原创 Android中的反射

在android開發中經常會用到反射的知識,舉幾個反射的例子分析反射。 在android中有些源碼中的類是hide的or私有的,我們不能夠直接得到具體的對象,但是這些類在我們應用程序運行之後他的對象確實是被創建並且存在於內存中的,只是是私

原创 Java虛擬機引發的連環血案

(個人總結系列)我們是不是經常在回顧java虛擬機結構,每個結構的作用,線程併發,鎖,volatile,垃圾回收,我也是看了就忘,最近就把這些知識點給串起來了,這樣能增強記憶,也便於我們回顧知識點。 由於個人原因,平時很忙,就不會去把每個

原创 Android 進階知識歸納

Ajava相關: 1.多線程併發,鎖,線程池原理     https://www.cnblogs.com/skywang12345/p/java_threads_category.html     1> 爲什麼notify(), wait

原创 Android 繪製錄音波浪 + 拓展: 讓“字體”迎波而浪

效果圖:   1.繪製錄音曲線效果 公式和網站介紹 我們要繪製這種效果,最直觀方便的方式就是採用三角函數的cos/sin的函數,首先我們需要一個重要的網站: Desmos: https://www.desmos.com/calculat

原创 源碼學習總結《2》Android 應用程序進程啓動

通過上一篇學習android系統啓動我們瞭解到了,init進程啓動,zygote進程啓動,systemserve進程啓動,AMS等服務啓動過程,最後啓動第一個launcher 桌面進程啓動。我們還有一個分支沒有學習,就是應用進程的創建,今

原创 源碼學習總結《1》Android 系統啓動流程

對於NDK開發學習已經完結,並且成功的做出相應的案例,銀行卡/身份證卡號識別,現在呢,偉大的學習路程又要開始了,接下來就是要學習系統源碼framework相關的知識。(只做個人學習總結,學過就留點痕跡~~,不做長篇大論,謝謝 ^_^ )