隨著多核時(shí)代的興起,現(xiàn)在的服務(wù)器CPU可能多達(dá)10個(gè)以上的內(nèi)核。對(duì)于并發(fā)編程的市場(chǎng)需求量激增,那么如何才能將多核CPU的性能發(fā)揮到極致呢?
而Java作為服務(wù)端編程使用最廣泛的語(yǔ)言,必然需要和多核CPU打交道。那Java為我們提供了哪些并發(fā)編程的工具呢?
第1部份:前言和多線程基礎(chǔ)
為什么需要并行
有關(guān)并行的重要概念
有關(guān)并行性能的2個(gè)重要定律
第2部份:多線程基礎(chǔ)
線程的基本操作
守護(hù)線程
優(yōu)先級(jí)
中斷處理
基本的線程同步操作
第3部份:Java內(nèi)存模型和線程安全
原子性
可見(jiàn)性
有序性
Happen-Before 規(guī)則
線程安全的概念
線程安全的反例
第4部份:JDK并發(fā)包
各種同步控制工具的使用
并發(fā)容器及典型源碼分析
同步工具、并發(fā)容器使用小案例
第5部份:JDK并發(fā)包
線程池的基本使用
擴(kuò)展和增強(qiáng)線程池
線程池及其核心代碼分析
ForkJoin
第6部份:并發(fā)設(shè)計(jì)模式
單例
不變模式
生產(chǎn)者消費(fèi)者
Future模式
第7部份:無(wú)鎖
無(wú)鎖類的使用
無(wú)鎖類的原理詳解
無(wú)鎖算法詳解
第8部份:NIO和AIO
NIO的好處
NIO核心類介紹
Selector的多路復(fù)用
使用NIO進(jìn)行網(wǎng)絡(luò)編程案例
AIO介紹
第9部份:鎖的優(yōu)化和注意事項(xiàng)
鎖優(yōu)化的思路和方法
虛擬機(jī)內(nèi)的鎖優(yōu)化
死鎖
一個(gè)錯(cuò)誤使用鎖的案例
ThreadLocal及其源碼分析
第10部份:并發(fā)調(diào)試與JDK8新特性
多線程調(diào)試的方法
多線程調(diào)試案例
線程dump及分析
JDK8對(duì)并發(fā)的新支持
第11部份:綜合案例:jetty核心代碼分析
jetty如何處理高并發(fā)
實(shí)現(xiàn)高并發(fā)程序的基本思想