面試系列-併發程式設計72道面試題及答案
話不多說直接上題,篇幅限制,文末有答案

1.Java中守護執行緒和本地執行緒區別
2.執行緒與程序的區別
3.什麼是多執行緒中的上下文切換
4.死鎖與活鎖的區別,死鎖與飢餓的區別
5.Java中用到的執行緒排程演算法是什麼
6.什麼是執行緒組,為什麼在Java中不推薦使用
7.為什麼使用Executor框架
8.在Java中Executor和Executors的區別
9.什麼是原子操作,在Java Concurrency API中有哪些原子類(atomic classes)
10.Java Concurrency API中的Lock介面(Lock interface)是什麼,對比同步它有什麼優勢
Lock介面比同步方法和同步塊提供了更具擴充套件性的鎖操作。
11.什麼是Executors框架
12.什麼是阻塞佇列,阻塞佇列的實現原理是什麼,如何使用阻塞佇列來實現生產者-消費者模型
13.什麼是Callable和Future
14.什麼是FutureTask,使用ExecutorService啟動任務
15.什麼是併發容器的實現
16.多執行緒同步和互斥有幾種實現方法,都是什麼
17.什麼是競爭條件?你怎樣發現和解決競爭
18.如何使用thread dump,如何分析Thread dump
19.為什麼我們呼叫start()方法時會執行run()方法,為什麼我們不能直接呼叫run()方法
20.Java中你怎樣喚醒一個阻塞的執行緒
21.在Java中CycliBarriar和CountdownLatch有什麼區別
22.什麼是不可變物件,它對寫併發應用有什麼幫助
23.Java中用到的執行緒排程演算法是什麼
24.什麼是執行緒組,為什麼在Java中不推薦使用
25.為什麼使用Executor框架比使用應用建立和管理執行緒好
26.Java中有幾種方法可以實現一個執行緒
27.如何停止一個正在執行的執行緒
28.notify()和notifyAll()有什麼區別
29.什麼是Daemon執行緒,它有什麼意義
30.Java如何實現多執行緒之間的通訊和協作
31.什麼是可重入鎖(ReentrantLock)
32.當一個執行緒進入某個物件的一個synchronized的例項方法後,其它執行緒是否可進入此物件的其它方法
33.樂觀鎖和悲觀鎖的理解及如何實現,有哪些實現方式
34.SynchronizedMap和ConcurrentHashMap有什麼區別
35.CopyOnWriteArrayList可以用於什麼應用場景
36.什麼叫執行緒安全,servlet是執行緒安全嗎
37.volatile有什麼用,能否用一句話說明下volatile的應用場景
38.為什麼程式碼會重排序
39.在java中wait和sleep方法的不同
40.一個執行緒執行時發生異常會怎樣
41.如何在兩個執行緒間共享資料
42.Java中notify 和 notifyAll有什麼區別
43.為什麼wait, notify 和 notifyAll這些方法不在thread類裡面
44.什麼是ThreadLocal變數
45.Java中interrupted 和 isInterrupted方法的區別
46.為什麼wait和notify方法要在同步塊中呼叫
47.為什麼你應該在迴圈中檢查等待條件
48.Java中的同步集合與併發集合有什麼區別
49.什麼是執行緒池,為什麼要使用它
50.怎麼檢測一個執行緒是否擁有鎖
51.你如何在Java中獲取執行緒堆疊
52.JVM中哪個引數是用來控制執行緒的棧堆疊小的
53.Thread類中的yield方法有什麼作用
54.Java中ConcurrentHashMap的併發度是什麼
55.Java中Semaphore是什麼
56.Java執行緒池中submit() 和 execute()方法有什麼區別
57.什麼是阻塞式方法
58.Java中的ReadWriteLock是什麼
59.volatile 變數和 atomic 變數有什麼不同
60.可以直接呼叫Thread類的run ()方法麼
61.如何讓正在執行的執行緒暫停一段時間
62.你對執行緒優先順序的理解是什麼
63.什麼是執行緒排程器(Thread Scheduler)和時間分片(Time Slicing )
64.你如何確保main()方法所在的執行緒是Java 程式最後結束的執行緒
65.執行緒之間是如何通訊的
66.為什麼執行緒通訊的方法wait(), notify()和notifyAll()被定義在Object 類裡
67.為什麼wait(), notify()和notifyAll ()必須在同步方法或者同步塊中被呼叫
68.為什麼Thread類的sleep()和yield ()方法是靜態的
69.如何確保執行緒安全
70.同步方法和同步塊,哪個是更好的選擇
71.如何建立守護執行緒
72.什麼是Java Timer 類,如何建立一個有特定時間間隔的任務
答案獲取方式
加群即可獲取 群號:923116658
點選連結加入群聊【Java架構解析】:https://jq.qq.com/?_wv=1027&k=5e1QsXb
群內還有更多Java學習資料,PDF電子書籍,相關學習視訊!