JDK1 8 ReenrantLock 加鎖過程

2021-09-28 20:26:58 字數 345 閱讀 8752

reenrantlock 加鎖過程流程圖以及aqs隊列入隊情況

2.公平鎖與非公平鎖區別

3.佇列中元素如何出隊?

4.誰持有鎖,那麼就把持有鎖的執行緒設定成它;佇列中排隊的執行緒(t3)會把上乙個排隊的執行緒(t2)的waitstatus設定成-1,表示上乙個執行緒阻塞(t2)。waitstatus的值修改的話是在解鎖的過程中。

5.鎖可以重入:如果請求鎖的執行緒和當前執行緒相等,那麼該鎖可以重入,aqs的state就會加1;

6.aqs佇列中第乙個元素的thread一定是null!

jdk1 8常用總結

1.查詢集合裡的第乙個物件 filter 例 查詢listlist 中username為小明的物件t list.stream filter findfirst 1 list.stream filter e 小明 equals e.getusername findfirst 2.查詢滿足條件的物件,並...

用jdk1 8還是用jdk11

2020年年初,公司cto要求我們採用最新版本jdk,甚至直接使用最新版kotlin。前兩天 2020年12月 我把公司 公升級到了jdk11 lts版本,但不是最新版jdk。如果不搞rocketmq,不會發現什麼問題,而且會感覺這是乙個很好的改進,編碼寫法改進了,甚至效能提高了 然後,一搞rock...

Java 方法引用(JDK1 8)

引用 物件引用,物件引用的本質在於為乙個物件起別名,即 不同的棧記憶體可以同時指向同一塊堆記憶體空間。與物件引用類似的情況是,方法引用,即 為方法設定別名。在jdk 1.8之中針對於方法引用提供有如下的四種形式 引用靜態方法 類名稱 static方法名稱 引用某個物件的方法 例項化物件 普通方法 引...