首先們要明確Lifecycle中兩個(gè)枚舉值,這兩個(gè)枚舉值和生命周期的狀態(tài)有著直接關(guān)系他嫡,我們可以先記住番官,后面會(huì)看到使用的地方 下面我們先看下钢属,我們...
我們都知道ViewModel在配置更改的時(shí)候徘熔,可以保存數(shù)據(jù)而不被銷毀淆党,這是怎么做到的呢酷师?今天我們來見證一下。 我們可以想一下宁否,如果我們要自己實(shí)現(xiàn)...
從代碼入手,先看下代碼 注意這里我們加鎖的方式是同步代碼塊慕匠,然后反編譯下class文件,看一下get方法 這里我們可以看到這兩行台谊,第3行moni...
JMM(Java內(nèi)存模型) 首先我們看下執(zhí)行a+b這個(gè)操作需要幾步:1.從內(nèi)存中取出a2.從內(nèi)存中取出b3.執(zhí)行a+bCPU讀取一次內(nèi)存的響應(yīng)時(shí)...
定義 隊(duì)列同步器AbstractQueuedSynchronizer(以下簡稱同步器或AQS)譬挚,是用來構(gòu)建鎖或者其他同步組件的基礎(chǔ)框架,它使用了...
隊(duì)列 隊(duì)列是一種特殊的線性表减宣,特殊之處在于它只允許在表的前端(front)進(jìn)行刪除操作玩荠,而在表的后端(rear)進(jìn)行插入操作漆腌,和棧一樣,隊(duì)列是一...
原子性操作 原子即為不可再分的闷尿,原子操作即要么所有操作全部完成 要么全不完成。用synchronized包圍的代碼塊或方法就是原子操作女坑。對(duì)于線程...
定義 線程本地變量,也有些地方叫做線程本地存儲(chǔ)匆骗,其實(shí)意思差不多劳景。ThreadLocal可以讓每個(gè)線程擁有一個(gè)屬于自己的變量的副本碉就,不會(huì)和其他線程...
了解死鎖之前盟广,我們要先了解線程的狀態(tài),或者叫線程的生命周期铝噩。 線程的狀態(tài)主要分為上圖中的這幾種狀態(tài),這里我們需要注意一下幾點(diǎn): 初始狀態(tài)new出...