Java多執行緒-大結局

guiyichen1482368980000發表於2017-11-23

從九月二十號開始到今天十一月二十三號,整整兩個月啊,Java多執行緒這本書終於完整看完了,現在開始整理Java多執行緒全部內容、也算是一次回顧與總結。

走進Java世界中的執行緒
這節主要了解到Java執行緒執行的各種狀態:new、runnable、terminated、blocked、waiting、timed_waiting 及各狀態間關係

多執行緒的目標與挑戰
重點介紹執行緒安全問題表現的三個方面:原子性、可見性、有序性

Java執行緒同步機制
執行緒同步機制的具體方案介紹:內部鎖、顯式鎖、及volatile等關鍵字

玩轉執行緒基於資料或基於任務的分割實現併發化及合理設定執行緒數
執行緒間協作關鍵字:Condition、CountDownLatch、CyclicBarrier、BlockQueue、Semaphore、PipedOutputStream、Exchanger、Double Buffering

保障執行緒安全的設計技術
1、Java執行時儲存空間
2、無狀態物件、不可變物件、ThreadLocal
3、裝飾器模式及併發集合ConcurrentHashMap

執行緒的活性故障
介紹了死鎖、鎖死、執行緒飢餓、活鎖

執行緒管理
1、執行緒組、執行緒未捕獲異常及監控、執行緒恢復與暫掛
2、執行緒池ThreadPoolExecutor

Java非同步程式設計
Executor、ExecutorService、Executors、FutureTask、AsyncTask、ScheduleFuture

多執行緒的硬體基礎與Java記憶體模型
快取記憶體、快取一致性協議、寫緩衝器、無效化佇列、基本記憶體屏障、volatile、synchronized、final

Java多執行緒程式的效能調較
內部鎖的優化、優化鎖的使用、減少上下文切換、偽共享

最後貼上幾個小米的面試題給大家思考?:
1、Java中的集合類有哪些瞭解呢?
2、專案中用到過哪些快取?
3、ArrayList和LinkeList的區別?
4、linux瞭解怎麼樣。各個使用者之間許可權瞭解嗎 ?
5、手寫程式碼:求兩個連結串列相交。
6、新建執行緒的方式,有什麼區別
7、Thread的run方法和stat方法的區別是什麼?
8、怎麼關閉執行緒
9、TCP為什麼三次握手和四次揮手?
10、TCP和UDP區別?
11、聊聊你的專案經驗,最大的成就感是什麼?

相關文章