一.什么時(shí)候加載 1.new一個(gè)對(duì)象,一個(gè)類的靜態(tài)函數(shù)或者字段被調(diào)用 2.反射調(diào)用 3.當(dāng)一個(gè)類的子類被加載,其父類首先會(huì)被加載 4.一個(gè)類的m...
一.什么樣的需要回收 1.計(jì)數(shù)法:循環(huán)引用的問(wèn)題不好解決 2.根搜索算法,根節(jié)點(diǎn)無(wú)法觸達(dá)的對(duì)象,將被回收 - 棧: 虛擬機(jī)...
一、Java虛擬機(jī)對(duì)象的創(chuàng)建 遇到new指令時(shí): 1. 在方法區(qū)中看該類是否已經(jīng)被加載,看類是否被加載、解析和初始化,如果沒(méi)有,則先加載這個(gè)類。...
作用是阻塞當(dāng)前線程 synchronized,wait(),notify() 實(shí)現(xiàn)了線程的通信和同步; Lock.lock(),Lock.unL...
1.實(shí)現(xiàn)原理 AQS,隊(duì)列同步器。通過(guò)volitile變量state和CAS實(shí)現(xiàn)的一個(gè)雙端隊(duì)列,子類需要重寫tryAcquire方法 AQS獲取...
每一個(gè)線程都有一個(gè)ThreadLocalMap的存儲(chǔ)結(jié)構(gòu),一個(gè)ThreadLocal變量都會(huì)被每個(gè)線程復(fù)制一份線程私有的變量,通過(guò)Set(Obj...
一共有四種,無(wú)狀態(tài)鎖,偏向鎖,輕量級(jí)鎖,重量級(jí)鎖。鎖可以升級(jí),但不能降級(jí)。 1.偏向鎖。 當(dāng)一個(gè)線程訪問(wèn)一個(gè)對(duì)象的時(shí)候,會(huì)將自己的線程...
Volitile修飾的變量會(huì)被加一個(gè)lock指令,這個(gè)指令做兩件事情, 1.在變量改變之后,會(huì)立刻從cpu高速緩存寫到內(nèi)存 2.會(huì)通知其他cpu...
### 1.Advice接口 ![image](https://note.youdao.com/yws/public/resource/9736...