作品简介

本书结合JDK的源码介绍了Java并发框架、线程池的实现原理,帮助读者做到知其所以然。本书对原理的剖析不仅仅局限于Java层面,而是深入到JVM,甚至CPU层面来进行讲解,帮助读者从更底层看并发技术。

作者:方腾飞,魏鹏,程晓明

作品目录

  • Java并发编程的艺术
  • 前言
  • 为什么要写这本书
  • 本书特色
  • 读者对象
  • 如何阅读本书
  • 勘误和支持
  • 致谢
  • 第1章 并发编程的挑战
  • 1.1 上下文切换
  • 1.2 死锁
  • 1.3 资源限制的挑战
  • 1.4 本章小结
  • 第2章 Java并发机制的底层实现原理
  • 2.1 volatile的应用
  • 2.2 synchronized的实现原理与应用
  • 2.3 原子操作的实现原理
  • 2.4 本章小结
  • 第3章 Java内存模型
  • 3.1 Java内存模型的基础
  • 3.2 重排序
  • 3.3 顺序一致性
  • 3.4 volatile的内存语义
  • 3.5 锁的内存语义
  • 3.6 final域的内存语义
  • 3.7 happens-before
  • 3.8 双重检查锁定与延迟初始化
  • 3.9 Java内存模型综述
  • 3.10 本章小结
  • 第4章 Java并发编程基础
  • 4.1 线程简介
  • 4.2 启动和终止线程
  • 4.3 线程间通信
  • 4.4 线程应用实例
  • 4.5 本章小结
  • 第5章 Java中的锁
  • 5.1 Lock接口
  • 5.2 队列同步器
  • 5.3 重入锁
  • 5.4 读写锁
  • 5.5 LockSupport工具
  • 5.6 Condition接口
  • 5.7 本章小结
  • 第6章 Java并发容器和框架
  • 6.1 ConcurrentHashMap的实现原理与使用
  • 6.2 ConcurrentLinkedQueue
  • 6.3 Java中的阻塞队列
  • 6.4 Fork/Join框架
  • 6.5 本章小结
  • 第7章 Java中的13个原子操作类
  • 7.1 原子更新基本类型类
  • 7.2 原子更新数组
  • 7.3 原子更新引用类型
  • 7.4 原子更新字段类
  • 7.5 本章小结
  • 第8章 Java中的并发工具类
  • 8.1 等待多线程完成的CountDownLatch
  • 8.2 同步屏障CyclicBarrier
  • 8.3 控制并发线程数的Semaphore
  • 8.4 线程间交换数据的Exchanger
  • 8.5 本章小结
  • 第9章 Java中的线程池
  • 9.1 线程池的实现原理
  • 9.2 线程池的使用
  • 9.3 本章小结
  • 第10章 Executor框架
  • 10.1 Executor框架简介
  • 10.2 ThreadPoolExecutor详解
  • 10.3 ScheduledThreadPoolExecutor详解
  • 10.4 FutureTask详解
  • 10.5 本章小结
  • 第11章 Java并发编程实践
  • 11.1 生产者和消费者模式
  • 11.2 线上问题定位
  • 11.3 性能测试
  • 性能测试中使用的其他命令
  • 11.4 异步任务池
  • 11.5 本章小结
展开全部