原创 多線程—併發容器與機制

fail-fast 機制 一種錯誤檢測機制。常見的使用fail-fast方式遍歷的容器有HashMap和ArrayList等。當在迭代集合的過程中該集合在結構上發生改變的時候,比如單線程遍歷時remove(),多線程一個讀取數據一個操作數

原创 多線程—synchronized及同步器

synchronized關鍵字 synchronized有兩種類型的鎖: 類鎖:synchronized修飾靜態方法、修飾一個類的class對象。 對象鎖:除了類鎖,所有其他的上鎖方式都認爲是對象鎖。synchronized修飾普通方法、

原创 多線程—線程池Executor框架及四種常用線程池

池化技術應用:線程池、數據庫連接池、http連接池等等。 池化技術的思想主要是爲了減少每次獲取資源的消耗,提高對資源的利用率。 使用線程池的好處: 降低資源消耗:通過重複利用已創建的線程降低線程創建和銷燬造成的消耗。 提高響應速度:當任務

原创 Java—關於單例模式的實現方式

1.餓漢式(線程安全,調用效率高,但是不能延時加載):JVM初始化的時候創建對象,不能延時 public class ImageLoader{ private static ImageLoader instance = ne

原创 多線程—Lock、Condition、ReentrantLock、ReentrantReadWriteLock

Lock接口 public interface Lock { //下面4個方法都是獲得鎖 void lock(); void lockInterruptibly() throws InterruptedException

原创 Java、Android—零碎難記筆試考點(持續更新)

String類是final類 “對String對象的任何改變都不影響到原對象,相關的任何change操作都會生成新的對象”。 public class Test{ public static void main(String[

原创 Android—OkHttp同步異步請求過程源碼分析與攔截器

OkHttp同步請求步驟: 創建OkHttpClient,客戶對象 創建Request,請求主體,在請求主體設置請求的url,超時時間等 用newCall(request)將Reuqest對象封裝成Call對象,然後用Call對象的exe

原创 Java—Collection、Map、樹

Collection  <類型>     List 可以重複,有順序             ArrayList     主選              結構:數組      特點:查找快,增刪慢         線程不安全,效率高  

原创 Android—安卓版本對應的API等級與版本代碼

Platform Version API Level VERSION_CODE Android 10.0 29 Q Android 9 28 P Android 8.1 27 O_MR1 Android 8.0 26 O Android

原创 Android—JVM-Dalvik-ART與zygote進程

APK APK的本質是一個zip壓縮包,如果將後綴名改成.zip,就可以解壓,APK 文件與 Zip 文件最大的一個不同是 APK 包含簽名信息,用於保證安裝包安全不被修改 res文件夾:用於存放Android資源文件的目錄,裏面有dra

原创 多線程—線程三種創建方式及對比

線程創建的3種方法: 1、繼承Thread類並重寫run方法 Thread類方法: Thread Thread.currentThread() :獲得當前線程的引用。獲得當前線程後對其進行操作。 Thread.UncaughtExcep

原创 Android—關於通知NotificationManager操作

Android8.0引入NotificationChannel,每條通知都有對應的渠道,渠道創建後不可更改 1.要用到通知功能必不可少就是獲取一個NotificationManager對象 val manager= getSystemS

原创 Android—內存泄漏及LeakCanary源碼解析

內存泄露:程序在向系統申請分配內存空間後(new),在使用完畢後未釋放。結果導致一直佔據該內存單元,我們和程序都無法再使用該內存單元,直到程序結束,這是內存泄露。 內存溢出(OOM):程序向系統申請的內存空間超出了系統能給的。比如內存只能

原创 Android—MVC、MVP、MVVM

MVC: 視圖(View):用戶界面。 控制器(Controller):業務邏輯 模型(Model):數據保存 View 傳送指令到 Controller Controller 完成業務邏輯後,要求 Model 改變狀態 Model 將

原创 Android—屏幕適配和優化問題

各自的定義: px:pixel,像素,屏幕上實際的像素點單位 dpi: dot per inch,每英寸多少點,該值越高,則圖片越細膩 dp: dip,Density-independent pixel, 設備獨立像素 sp: scale