ConcurrencyWithJava
《精通 Java 并发编程(第2 版 )》学习笔记
所用书籍
Mastering Concurrency Programming with Java 9,Javier Fernandez Gonzalez 著。
GitHub 地址
01. 第一步:并发设计原理
02. 使用基本元素: Thread 和 Runnable
- Java 中的线程
1.1 Java 中的线程:特征和状态。
1.2 Thread 类和 Runnable 接口。 - 第一个例子:矩阵乘法
- 第二个例子:文件搜索
03. 管理大量线程:执行器
- 执行器简介
1.1 执行器的基本特征
1.2 执行器框架的基本组件 - 第一个例子:k-最近邻算法
- 第二个例子:客户端/服务器环境下的并发处理
- 其他重要方法
04. 充分利用执行器
05. 从任务获取数据: Callable 接口与 Future 接口
06. 运行分为多阶段的任务:Phaser类
07. 优化分治解决方案:Fork/Join 框架
08. 使用并行流处理大规模数据集:MapReduce 模型
09. 使用并行流处理大规模数据集:MapCollect 模型
10. 异步流处理:反应流
11. 探究并发数据结构和同步工具
- 并发数据结构
1.1 阻塞型数据结构和非阻塞型数据结构
1.2 并发数据结构
1.3 使用新特性
1.4 原子变量
1.5 变量句柄 - 同步机制
2.1 CommonTask 类
2.2 Lock 接口
2.3 Semaphore 类
2.4 CountDownLatch 类
2.5 CyclicBarrier 类
2.6 CompletableFuture 类
12. 测试与监视并发应用程序
- 监视并发对象
1.1 监视线程
1.2 监视锁
1.3 监视执行器
1.4 监视 Fork/Join 框架
1.5 监视 Phaser
1.6 监视流 API - 监视并发应用程序
2.1 Overview 选项卡
2.2 Memory 选项卡
2.3 Threads 选项卡
2.4 Classes 选项卡
2.5 VM Summary 选项卡
2.6 MBeans 选项卡
2.7 About 选项卡 - 测试并发应用程序
3.1 使用MultithreadedTC
3.2 使用 Java Pathfinder
13. JVM 中的并发处理:Clojure、带有 GPars 库的 Groovy 以及 Scala
- Clojure 的并发处理
1.1 使用 Java 元素
1.2 引用类型
1.3 Ref 对象
1.4 Delay
1.5 Future
1.6 Promise - Groovy 及其 GPars 库的并发处理
2.1 使用 Java 元素
2.2 数据并行处理
2.3 Fork/Join 处理
2.4 Actor
2.5 Agent
2.6 Dataflow - Scala 的并发处理
3.1 Scala 中的 Future 对象
3.2 Promise