更新时间:2019-07-26 15:32:55
封面
版权信息
内容简介
前言
第1章 走入并行世界
1.1 何去何从的并行计算
1.2 你必须知道的几个概念
1.3 并发级别
1.4 有关并行的两个重要定律
1.5 回到Java:JMM
第2章 Java并行程序基础
2.1 有关线程你必须知道的事
2.2 初始线程:线程的基本操作
2.3 volatile与Java内存模型(JMM)
2.4 分门别类的管理:线程组
2.5 驻守后台:守护线程(Daemon)
2.6 先做重要的事:线程优先级
2.7 线程安全的概念与关键字synchronized
2.8 程序中的幽灵:隐蔽的错误
第3章 JDK并发包
3.1 多线程的团队协作:同步控制
3.2 线程复用:线程池
3.3 不要重复发明轮子:JDK的并发容器
3.4 使用JMH进行性能测试
第4章 锁的优化及注意事项
4.1 有助于提高锁性能的几点建议
4.2 Java虚拟机对锁优化所做的努力
4.3 人手一支笔:ThreadLocal
4.4 无锁
4.5 有关死锁的问题
第5章 并行模式与算法
5.1 探讨单例模式
5.2 不变模式
5.3 生产者-消费者模式
5.4 高性能的生产者-消费者模式:无锁的实现
5.5 Future模式
5.6 并行流水线
5.7 并行搜索
5.8 并行排序
5.9 并行算法:矩阵乘法
5.10 准备好了再通知我:网络NIO
5.11 读完了再通知我:AIO
第6章 Java 8/9/10与并发
6.1 Java 8的函数式编程简介
6.2 函数式编程基础
6.3 一步一步走入函数式编程
6.4 并行流与并行排序
6.5 增强的Future:CompletableFuture
6.6 读写锁的改进:StampedLock
6.7 原子类的增强
6.8 ConcurrentHashMap的增强
6.9 发布和订阅模式
第7章 使用Akka构建高并发程序
7.1 新并发模型:Actor
7.2 Akka之Hello World
7.3 有关消息投递的一些说明
7.4 Actor的生命周期
7.5 监督策略
7.6 选择Actor
7.7 消息收件箱(Inbox)
7.8 消息路由
7.9 Actor的内置状态转换
7.10 询问模式:Actor中的Future
7.11 多个Actor同时修改数据:Agent
7.12 像数据库一样操作内存数据:软件事务内存
7.13 一个有趣的例子:并发粒子群的实现
第8章 并行程序调试
8.1 准备实验样本
8.2 正式起航
8.3 挂起整个虚拟机
8.4 调试进入ArrayList内部
第9章 多线程优化示例—Jetty核心代码分析
9.1 Jetty简介与架构
9.2 Jetty服务器初始化
9.3 启动Jetty服务器
9.4 处理HTTP请求