《实战 Java 高并发程序设计》简介
随着多核时代的兴起,现在的服务器 CPU 可能多达 10 个以上的内核。对于并发编程的市场需求量激增,那么如何才能将多核 CPU 的性能发挥到极致呢?
而Java作为服务端编程使用最广泛的语言,必然需要和多核 CPU 打交道。那Java为我们提供了哪些并发编程的工具呢?
本课程将重点介绍基于Java语言的并行程序设计。内容将涵盖多线程基础、并发库解析以及高并发程序设计思路等多个方面。
如何写出正确的并行代码,而且是写出高性能的程序,本课程都会给你答案!
《实战 Java 高并发程序设计》信息
《实战 Java 高并发程序设计》课程大纲
第 1 课:前言和多线程基础
为什么需要并行
有关并行的重要概念
有关并行性能的 2 个重要定律
第 2 课:多线程基础
线程的基本操作
守护线程
优先级
中断处理
基本的线程同步操作
第 3 课:Java内存模型和线程安全
原子性
可见性
有序性
Happen-Before 规则
线程安全的概念
线程安全的反例
第 4 课:JDK 并发包
各种同步控制工具的使用
并发容器及典型源码分析
同步工具、并发容器使用小案例
第 5 课:JDK 并发包
线程池的基本使用
扩展和增强线程池
线程池及其核心代码分析
ForkJoin
第 6 课:并发设计模式
单例
不变模式
生产者消费者
Future 模式
第 7 课:无锁
无锁类的使用
无锁类的原理详解
无锁算法详解
第 8 课:NIO 和 AIO
NIO 的好处
NIO 核心类介绍
Selector 的多路复用
使用 NIO 进行网络编程案例
AIO 介绍
第 9 课:锁的优化和注意事项
锁优化的思路和方法
虚拟机内的锁优化
死锁
一个错误使用锁的案例
ThreadLocal 及其源码分析
第 10 课:并发调试与 JDK8 新特性
多线程调试的方法
多线程调试案例
线程 dump 及分析
JDK8 对并发的新支持
第 11 课:综合案例:jetty 核心代码分析
jetty 如何处理高并发
实现高并发程序的基本思想