java concurrency_GitHub - CL0610/Java-concurrency: Java并发知识点总结
努力的意義,就是,在以后的日子里,放眼望去全是自己喜歡的人和事!
歡迎提issue和Pull request。所有的文檔都是自己親自碼的,如果覺得不錯,歡迎給star鼓勵支持 :)
整個系列文章為Java并發專題,一是自己的興趣,二是,這部分在實際理解上很有難度,另外在面試過程中也是經常被問到。所以在學習過程中,記錄了Java并發相關的基礎知識,一是自己對知識能夠建立體系,同時也希望有幸能夠對其他人有用。
關于Java并發專題:
(1)包含了并發的基礎知識,每個標題鏈接到一篇具體的文章;
(2)包含了秋招面試的問題,弄懂了會讓你有所收獲(也祝大家都能找到心儀的工作 :) )
(3)在閱讀過程中,如果有所幫助,麻煩點贊,算是對我碼字的這份堅持的鼓勵。
注:轉載請標明原處,謝謝!
基礎知識
知識點:(1)為什么要用到并發?(優點);(2)并發編程的缺點;(3)易混淆的概念
知識點:(1)如何新建線程;(2)線程狀態的轉換;(3)線程的基本操作;(4)守護線程Daemon;
并發理論(JMM)
知識點:(1)JMM內存結構;(2)重排序;(3)happens-before規則
并發關鍵字
知識點:(1)如何使用synchronized;(2)monitor機制;(3)synchronized的happens-before關系;(4)synchronized的內存語義;(5)鎖優化;(6)鎖升級策略
知識點:(1)實現原理;(2)happens-before的關系推導;(3)內存語義;(4)內存語義的實現
知識點:(1)如何使用;(2)final的重排序規則;(3)final實現原理;(4)final引用不能從構造函數中“溢出”(this逃逸)
知識點:(1)原子性:synchronized;(2)可見性:synchronized,volatile;(3)有序性:synchronized,volatile
Lock體系
知識點:(1)Lock和synchronized的比較;(2)AQS設計意圖;(3)如何使用AQS實現自定義同步組件;(4)可重寫的方法;(5)AQS提供的模板方法;
知識點:(1)AQS同步隊列的數據結構;(2)獨占式鎖;(3)共享式鎖;
知識點:(1)重入鎖的實現原理;(2)公平鎖的實現原理;(3)非公平鎖的實現原理;(4)公平鎖和非公平鎖的比較
知識點:(1)如何表示讀寫狀態;(2)WriteLock的獲取和釋放;(3)ReadLock的獲取和釋放;(4)鎖降級策略;(5)生成Condition等待隊列;(6)應用場景
知識點:(1)與Object的wait/notify機制相比具有的特性;(2)與Object的wait/notify相對應的方法;(3)底層數據結構;(4)await實現原理;(5)signal/signalAll實現原理;(6)await和signal/signalAll的結合使用;
知識點:(1)主要功能;(2)與synchronized阻塞喚醒相比具有的特色;
并發容器
知識點:(1)關鍵屬性;(2)重要內部類;(3)涉及到的CAS操作;(4)構造方法;(5)put執行流程;(6)get執行流程;(7)擴容機制;(8)用于統計size的方法的執行流程;(9)1.8版本的ConcurrentHashMap與之前版本的比較
知識點:(1)實現原理;(2)COW和ReentrantReadWriteLock的區別;(3)應用場景;(4)為什么具有弱一致性;(5)COW的缺點;
知識點:(1)實現原理;(2)數據結構;(3)核心方法;(4)HOPS延遲更新的設計意圖
知識點:(1)實現原理;(2)set方法原理;(3)get方法原理;(4)remove方法原理;(5)ThreadLocalMap
知識點:(1)ThreadLocal內存泄漏原理;(2)ThreadLocal的最佳實踐;(3)應用場景
知識點:(1)BlockingQueue的基本操作;(2)常用的BlockingQueue;
線程池(Executor體系)
知識點:(1)為什么要用到線程池?(2)執行流程;(3)構造器各個參數的意義;(4)如何關閉線程池;(5)如何配置線程池;
知識點:(1)類結構;(2)常用方法;(3)ScheduledFutureTask;(3)DelayedWorkQueue;
知識點:(1)FutureTask的幾種狀態;(2)get方法;(3)cancel方法;(4)應用場景;(5)實現 Runnable接口
原子操作類
知識點:(1)實現原理;(2)原子更新基本類型;(3)原子更新數組類型;(4)原子更新引用類型;(5)原子更新字段類型
并發工具
知識點:(1)倒計時器CountDownLatch;(2)循環柵欄CyclicBarrier;(3)CountDownLatch與CyclicBarrier的比較
知識點:(1)資源訪問控制Semaphore;(2)數據交換Exchanger
JAVA并發知識圖譜
可移動到新窗口,放大查看效果更好或者查看原圖
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的java concurrency_GitHub - CL0610/Java-concurrency: Java并发知识点总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# mysql 文件存储_c# 如何实
- 下一篇: 教你VMM虚拟机简单使用VM虚拟机如何使