原创 5.ThreadLocal

內容提要 • ThreadLocal能定義線程本地變量; • 從ThreadLocalMap進一步瞭解ThreadLocal特性; • 結合底層代碼,深入瞭解ThreadLocal; • ThreadLocal可能會導致內存泄漏,如何避免

原创 6,線程池

內容提要 • 線程池的基本用法; • 構造線程池時各項參數解析 • 線程池的工作方式 • 設置成有界隊列,避免內存泄漏 • 排查因線程池而導致的OOM異常的說辭 面試相關問題 • 構造線程池時,你會關注哪些參數? • 爲什麼要用線程池?避

原创 3,介紹synchronized關鍵字

內容提要 • synchronized作用在代碼塊、方法和靜態方法上的效果  • synchronized具有可重入特性 • 能鎖單個方法,但不能鎖由多個方法組成的業務流程 • 面試相關說辭以及如何找機會說出   synchronized

原创 2,volatile的解析

內容提要 • volatile不能保證原子性 • volatile能避免指令重排 • volatile的使用場景:讓變量在線程間都可見 • 使用場景:ConcurrentHashMap 不能保證原子性 • 用volatile修飾一個int

原创 7,你用過那些併發類

內容提要 • 通過wait,nofity管理併發 • 通過Condition實現線程間的通訊 • 通過Semaphore管理多線程的競爭以生產者消費者問題觀察wait和notify • 一旦執行wait方法,會釋放synchronized

原创 4,鎖

內容提要 • 用ReentrantLock控制業務層面的併發; • 進一步理解可重入特性; • 公平鎖和非公平鎖的使用場景; • 讀寫鎖的使用場景; • 在面試中介紹鎖的相關說辭; ReentrantLock控制業務層面的併發 • 在賬戶

原创 8,用ConcurrentHashmap綜合展示併發、集合和讀源碼的能力

內容提要 • 如何引出該話題 • 通過put和get源碼,瞭解ConcurrentHashMap的底層結構 和hash流程; • 以CAS+ Synchronized管理併發的方式; • 對比jdk1.7和1.8的差別,介紹Concurr

原创 3.從hashCode觀察HashMap的用法

內容提要 • 從數據結構的散列表裏觀察HashMap高效索引的機制。 • 從散列表裏的衝突機制觀察 HashMap的數據結構。 • 不重寫hashcode和equals方法會有什麼後果。 • 講述hashcode和HashMap方法該拋出

原创 1.線程安全知識點

本章目標 1. 能通過線程內存模型,展示線程安全方面的技能 2. 能在面試中說出Synchronized和各種鎖的使用要點 3. 能在面試中綜合展示各種線程同步和併發技能 4. 能通過講述ConcurrentHashMap對象的底層代碼,

原创 2,結合底層代碼講述 fail-fast機制

內容提要 • 遍歷ArrayList會遇到的坑:邊遍歷邊修改可能出錯 • 快速失效背後包含的保護機制 • 通過迭代器可以邊遍歷邊修改 • 結合底層代碼講述fail-fast(快速失效) • 引出快速失效話題的方法 遍歷ArrayList時

原创 6.異常處理準則

內容提要: • finally從句裏放資源回收類代碼 • 尤其得當心的RuntimeException • 通過異常處理機制,儘可能小地縮小影響範圍 • 異常處理的重要準則 finally從句的特性 • 不管是否發生異常,不管發生何種異常

原创 8.設計模式

內容提要 • 通過單例模式,邊寫代碼邊講述設計模式 ; • 通過代理模式,證明自己在項目裏用過設計模式; • 面試時引出設計模式話題的技巧 • 被問到相關問題時,如何全方位回答單例模式的單線程實現方式 • 通過單例模式,確保實例化的對象只

原创 4.重載和重寫

內容提要 • 結合代碼,觀察覆蓋,重載和方法重複 • 從面向對象角度,分析覆蓋時需要注意的兩大準則 子類方法覆蓋(Override)父類方法 方法的重載(Overload) • 重載:方法同名,不同參 • 方法同名,同參,不同參數名,是

原创 7.final, finalize 和 finally

內容提要: • finally和finalize語法點和麪試說辭 • final可以作用在類、方法和屬性上 • 話題涉及到內存回收和麪向對象設計,面試時該如何引出 finally從句的說辭(複習): • 不管是否發生異常,不管發生何種異常

原创 9.設計模式思想

內容提要 • 結合代碼介紹了設計模式背後包含的多種實用的設計原則 • 同時給出“基於項目介紹設計原則”的方式 • 給出了若干亮點說辭,同時介紹瞭如何在面試時引出該話題依賴倒轉原則能減少修改所影響範圍 • 模塊間(類之間)的依賴關係(比如相