這都不知道就不要去大公司面試了只锻,丟人
java并發(fā)面試題(一)基礎(chǔ)
本文整理了常見的Java并發(fā)面試題谈竿,希望對大家面試有所幫助,歡迎大家互相交流构订。
多線程
java中有幾種方法可以實現(xiàn)一個線程?
如何停止一個正在運行的線程避矢?
notify()和notifyAll()有什么區(qū)別悼瘾?
sleep()和 wait()有什么區(qū)別?
什么是Daemon線程?它有什么意義审胸?
java如何實現(xiàn)多線程之間的通訊和協(xié)作亥宿?
鎖
什么是可重入鎖(ReentrantLock)?
當(dāng)一個線程進入某個對象的一個synchronized的實例方法后砂沛,其它線程是否可進入此對象的其它方法烫扼?
synchronized和java.util.concurrent.locks.Lock的異同?
樂觀鎖和悲觀鎖的理解及如何實現(xiàn)碍庵,有哪些實現(xiàn)方式映企?
并發(fā)框架
SynchronizedMap和ConcurrentHashMap有什么區(qū)別?
CopyOnWriteArrayList可以用于什么應(yīng)用場景静浴?
線程安全
什么叫線程安全堰氓?servlet是線程安全嗎?
同步有幾種實現(xiàn)方法?
volatile有什么用苹享?能否用一句話說明下volatile的應(yīng)用場景双絮?
請說明下java的內(nèi)存模型及其工作流程。
為什么代碼會重排序得问?
原創(chuàng)文章囤攀,轉(zhuǎn)載請注明: 轉(zhuǎn)載自并發(fā)編程網(wǎng) – ifeve.com本文鏈接地址: java并發(fā)面試題(一)基礎(chǔ)
http://ifeve.com/javaconcurrency-interview-questions-base/
java并發(fā)面試題(二)實戰(zhàn)
本文列出了在工作中會用到的并發(fā)編程的實戰(zhàn)問題,大家可以一起交流下宫纬,在回復(fù)中給出答案抚岗。
并發(fā)容器和框架
如何讓一段程序并發(fā)的執(zhí)行,并最終匯總結(jié)果哪怔?
如何合理的配置java線程池宣蔚?如CPU密集型的任務(wù),基本線程池應(yīng)該配置多大认境?IO密集型的任務(wù)胚委,基本線程池應(yīng)該配置多大?用有界隊列好還是無界隊列好叉信?任務(wù)非常多的時候亩冬,使用什么阻塞隊列能獲取最好的吞吐量?
如何使用阻塞隊列實現(xiàn)一個生產(chǎn)者和消費者模型硼身?請寫代碼硅急。
多讀少寫的場景應(yīng)該使用哪個并發(fā)容器,為什么使用它佳遂?比如你做了一個搜索引擎营袜,搜索引擎每次搜索前需要判斷搜索關(guān)鍵詞是否在黑名單里,黑名單每天更新一次丑罪。
Java中的鎖
如何實現(xiàn)樂觀鎖(CAS)荚板?如何避免ABA問題?
讀寫鎖可以用于什么應(yīng)用場景吩屹?
什么時候應(yīng)該使用可重入鎖跪另?
什么場景下可以使用volatile替換synchronized?
并發(fā)工具
如何實現(xiàn)一個流控程序煤搜,用于控制請求的調(diào)用次數(shù)免绿?
答案
可以閱讀以下參考資料,知道答案后可以在回復(fù)中交流
Java線程池的分析和使用 Java線程池(第二題)
原子操作的實現(xiàn)原理 (鎖 第一題)
Java中的讀寫鎖(鎖 第二題)
如何設(shè)計客戶端流控程序 (并發(fā)工具 第一題)
待續(xù)
原創(chuàng)文章擦盾,轉(zhuǎn)載請注明: 轉(zhuǎn)載自并發(fā)編程網(wǎng) – ifeve.com本文鏈接地址: java并發(fā)面試題(二)實戰(zhàn)
http://ifeve.com/javaconcurrency-interview-questions-combat/