前言 在Android開發(fā)中,網(wǎng)絡(luò)請求十分常用 而在Android網(wǎng)絡(luò)請求庫中,Retrofit是當(dāng)下最熱的一個網(wǎng)絡(luò)請求庫 今天,我將手把手帶你深入剖析Retrofit v2...
鎖是什么 鎖是資源 獨占模式 同一時刻只能有一個線程持有鎖,其他沒有爭搶到鎖的線程將被阻塞 ReentrantLock 鎖 ReentrantLock 內(nèi)部維護了一個 Syn...
哈嘍,大家好,我是西哥! 又到了大家最喜歡了的環(huán)節(jié)--開源庫推薦,前面為大家推薦了我收藏的一些非常酷的開源庫,受到大家一致好評,還沒看過的,請移步至: 【Android珍藏】...
@小蒲君 謝謝提醒,我去查一下
9.Spring---SpEl和注入外部值一、使用屬性文件外部注入 1.1處理外部值最簡單的方式就是使用屬性文件,通過Spring的Enviroment來檢索到 1.使用@PropertySource注解聲明屬性文件...
1.泛型是Java中參數(shù)化類型的方式。將類型也作為一種參數(shù)進(jìn)行傳遞。2.它有泛型的方法,泛型參數(shù),泛型類。3.泛型可以制定一些模板類4.通配符:是解決java泛型不識別多太機...
一、Java采用可達(dá)性算法 虛擬機采用可達(dá)性分析來判斷對象是否存活的。 它們已GC root對象為起點,向下搜索所有和GC root對象直接或間接關(guān)聯(lián)對象。所走過的路徑為引用...
一、Java的內(nèi)存模型 Java的內(nèi)存模型包括:1.程序計數(shù)器:負(fù)責(zé)管理指令的執(zhí)行順序,并且因為虛擬機的多線程是來回切換的。當(dāng)切換回來時需要記錄下上個線程的執(zhí)行狀態(tài)。所以每個...
一、實現(xiàn)的思路 RxJava 提供了很多的變換操作符,將上游的數(shù)據(jù)轉(zhuǎn)換成另一種數(shù)據(jù),可以在傳送數(shù)據(jù)流的過程中構(gòu)造一個新的類,這個類即持有上游的 Observable 也持有下...
參考資料gityuan 一、Handler原理 Handler 是 Android 中線程間通信的組件。在異步線程中使用前需要先調(diào)用 Looper.prepare 為當(dāng)前線程...
最近在準(zhǔn)備android面試,整理了下相關(guān)的面試題,分為如下三個部分:android部分、Java部分、算法面試題,后續(xù)有新內(nèi)容直接在對應(yīng)的文章中補充。 android部分:...
一次請求的完結(jié),或者是這條責(zé)任鏈沒有其他任務(wù)要執(zhí)行都會終止
OkHttp攔截器----責(zé)任鏈模式參考文章 http://www.itdecent.cn/p/27c1554b7feehttp://www.cnblogs.com/java-my-life/archive/2...
請求 AMS 創(chuàng)建應(yīng)用服務(wù)進(jìn)程 Launcher 通過調(diào)用 AMS 請求創(chuàng)建應(yīng)用程序的進(jìn)程 frameworks/base/services/core/java/com/an...
參考自:Android 進(jìn)階解密網(wǎng)易課程 Zygote 服務(wù)啟動 SystemServer 在 ZygoteInit 的 main 函數(shù)中 frameworks/base/c...
增量更新的原理 生成差異文件 下發(fā)差異文件到手機 客戶端拿到差異包后和舊 APK 進(jìn)行合成,生成新的 APK 客戶端主動安裝新的 APK 使用 bsdiff 生成差異包 使用...
使用補丁包中的方法信息進(jìn)行替換 1.在 Java 層獲取 補丁包方法的信息 通過 DexFile 獲取到補丁包中的方法對象。 2.使用補丁包中的方法信息替換
AndFix 的原理 在 Android 系統(tǒng)中,是無法對一個已經(jīng)加載的類進(jìn)行刪除的,如果想要替換一個已經(jīng)加載的類??梢酝ㄟ^ ClassLoader 去加載新的類,做法是在 ...