高并發(fā)編程一直是我的痛點(diǎn),面試被問到基本都答不上來。 我相信很多朋友跟我一樣箫攀,不系統(tǒng)學(xué)習(xí)整理一把昔搂,真的難受竹观。 下面是我花了不少時間整理的Java并發(fā)編程相關(guān)的面試題拍嵌,知識點(diǎn)等...
高并發(fā)編程一直是我的痛點(diǎn),面試被問到基本都答不上來。 我相信很多朋友跟我一樣箫攀,不系統(tǒng)學(xué)習(xí)整理一把昔搂,真的難受竹观。 下面是我花了不少時間整理的Java并發(fā)編程相關(guān)的面試題拍嵌,知識點(diǎn)等...
除了synchronized能解決原子性性問題遭赂,Jdk1.5以后,在java.util.concurrent.locks.Lock包下的Lock也能解決原子性問題横辆。 java...
前言 關(guān)于wait/notify/notifyall有2個經(jīng)典的面試: notify和notifyall有什么區(qū)別撇他? 為什么wait方法要寫在while循環(huán)里面而不是if呢?...
前言 面試題:synchronized是可重入鎖嗎困肩? 答案:synchronized是可重入鎖。ReentrantLock也是的脆侮。 1锌畸、什么是可重入鎖呢? 關(guān)于什么是可重入鎖...
前言 Synchronized原理是面試中的一個難點(diǎn)潭枣。網(wǎng)上的各種資料太亂了 ,概念晦澀難懂幻捏,看了不少資料盆犁、博客,花了不少時間粘咖,才整理成這篇筆記蚣抗。看完對你大有幫助瓮下。 1翰铡、內(nèi)存布...
1讽坏、什么是公平鎖與非公平鎖 公平鎖:公平鎖就是保障了多線程下各線程獲取鎖的順序锭魔,先到的線程優(yōu)先獲取鎖。非公平鎖:非公平鎖則無法提供這個保障(先到的線程優(yōu)先獲取鎖)路呜。 2迷捧、Re...
前言 工作中難免會使用線程池。對線程池的使用要格外的小心胀葱,說不定某天就出現(xiàn)了難搞的生產(chǎn)問題(OOM)漠秋。每次在使用的時候,我都會網(wǎng)上找找資料抵屿,今天我就自己全部整理了一篇庆锦,不足或...
前言 上一節(jié)講了i++并不是線程安全的,我們需要用synchronized來保證其線程安全轧葛。 這里我就介紹下synchronized的基本用法和簡單原理搂抒。 便于說明艇搀,我寫了個...
前言 1、并發(fā)編程三要素 在并發(fā)編程的世界里求晶,下面三要素你必須清楚: 可見性:可見性指多個線程操作一個共享變量時焰雕,其中一個線程對變量進(jìn)行修改后,其他的線程可以立即看到修改的結(jié)...
前言 面試題:synchronized是可重入鎖嗎矩屁? 答案:synchronized是可重入鎖。ReentrantLock也是的蚜锨。 1档插、什么是可重入鎖呢慢蜓? 關(guān)于什么是可重入鎖...
簡書 占小狼轉(zhuǎn)載請注明原創(chuàng)出處耘柱,謝謝如捅! 前言 ThreadLocal為變量在每個線程中都創(chuàng)建了一個副本,所以每個線程可以訪問自己內(nèi)部的副本變量调煎,不同線程之間不會互相干擾镜遣。本文...
Exception 和 Error區(qū)別? 可查異常和不可查異常區(qū)別士袄? Error和Exception都是繼承了Throwable 類悲关。Error是指在正常情況下,不大可能出現(xiàn)...
最好赤拒、最壞時間復(fù)雜度 我們先看一個例子: 當(dāng)把break語句注釋掉的時候秫筏,總是需要遍歷整個數(shù)組,所以時間復(fù)雜度就是數(shù)組的長度挎挖,為O(n)这敬。當(dāng)有break語句的時候,如果找到x...
1崔涂、算法的考量指標(biāo) 算法的考量指標(biāo),我們是用時間墓造、空間復(fù)雜度來衡量的堪伍。 2锚烦、為什么需要復(fù)雜度分析? 1.測試結(jié)果非常依賴測試環(huán)境測試環(huán)境中硬件的不同會對測試結(jié)果有很大的影響比...
1、什么是數(shù)據(jù)結(jié)構(gòu) 廣義上講:數(shù)據(jù)結(jié)構(gòu)就是一組數(shù)據(jù)的存儲結(jié)構(gòu)尸闸。狹義上講:隊(duì)列彻亲、棧、堆吮廉、樹 等常用的數(shù)據(jù)結(jié)構(gòu)苞尝。 2、什么是算法 算法(Algorithm)就是操作數(shù)據(jù)的一組方法...