序一
序二
序三
序四
前言
章 jmh
1.1 jmh简介
1.2 jmh快速入门
1.2.1 用main方行测试
1.2.2 用jmh行微基准测试
1.3 jmh的基本用
1.3.1 @benchmark标记基准测试方
1.3.2 warmup以及measurement
1.3.3 四enchmarkmode
1.3.4 outputtimeunit
1.3.5 三大state的使用
1.3.6 @param的妙用
1.3.7 jmh的测试套件(fixture)
1.3.8 pilercontrol
1.4 编写正确的微基准测试以及不错用
1.4.1 编写正确的微基准测试用例
1.4.2 一些不错的用
1.5 jmh的profiler
1.5.1 stackprofiler
1.5.2 gcprofiler
1.5.3 classloaderprofiler
1.5.4 pilerprofiler
1.6 本章结
第2章 java并发包之原子类型详解
2.1 atomicinteger详解
2.1.1 性能测试对比
2.1.2 atomicinteger的基本用
2.1.3 atomicinteger内幕
2.1.4 atomicinteger结
2.2 atomicboolean详解
2.2.1 atomicboolean的基本用
2.2.2 atomicboolean内幕
2.2.3 try lock显式锁的实现
2.2.4 atomicboolean结
2.3 atomiclong详解
2.4 atomicreference详解
2.4.1 atomicreference的应用场景
2.4.2 atomicreference的基本用
2.4.3 atomicreference的内幕
2.4.4 atomicreference结
2.5 atomicstampedreference详解
2.5.1 cas算aba问题
2.5.2 atomicstampedreference详解
2.5.3 atomicstampedreference结
2.6 atomicarray详解
2.7 atomicfieldupdater详解
2.7.1 原子性更新对象属性
2.7.2 注意事项
2.7.3 atomicfieldupdater结
2.8 sun.misc.unsafe详解
2.8.1 如何获取unsafe
2.8.2 jni、java和c/c++混合编程
2.8.3 危险的unsafe
2.8.4 sun.misc.unsafe结
2.9 本章结
第3章 java并发包之工具类详解
3.1 countdownlatch工具详解
3.1.1 等待所有子任务结束
3.1.2 countdownlatch的其他方及结
3.2 cyclicbarrier工具详解
3.2.1 等待所有子任务结束
3.2.2 cyclicbarrier的循环特性
3.2.3 cyclicbarrier的其他方以及结
3.2.4 cyclicbarrier vs. countdownlatch
3.3 exchanger工具详解
3.3.1 一对线程间的数据交换
3.3.2 exchanger的方详解
3.3.3 exchanger结
3.4 semaphore工具详解
3.4.1 semaphore同时在线的用户数量
3.4.2 使用semaphore定义try lock
3.4.3 semaphore其他方详解
3.4.4 扩展semaphore增强release
3.4.5 semaphore结
3.5 phaser工具详解
3.5.1 phaser的基本用
3.5.2 phase(阶段)以及phaser方详解
3.5.3 phaser层级关系
3.5.4 phaser结
3.6 lock&reentrantlock详解
3.6.1 lock及reentrantlock方详解
3.6.2 正确使用显式锁lock
3.6.3 reentrantlock vs. synchronized关键字
3.6.4 显式锁lock结
3.7 readwritelock&reentrantreadwritelock详解
3.7.1 读写锁的基本使用方
3.7.2 读写锁的方
3.7.3 基准测试性能对比
3.7.4 读写锁结
3.8 condition详解
3.8.1 初识condition
3.8.2 condition接方详解
3.8.3 使用condition之生产者消费者
3.8.4 condition结
3.9 stampedlock详解
3.9.1 读写锁的饥饿写问题
3.9.2 stampedlock的使用
3.9.3 与其他锁的性能对比
3.9.4 stampedlock结
3.10 guava之monitor详解
3.10.1 monitor及guard
3.10.2 monitor的其他方
3.10.3 monitor结
3.11 guava之ratelimiter详解
3.11.1 ratelimiter的基本使用
3.11.2 ratelimiter的限流作——漏桶算
3.11.3 令牌环桶算
3.11.4 ratelimiter结
3.12 本章结
第4章 java并发包之并发容器详解
4.1 链表
4.1.1 基本的链表
4.1.2 优先级链表
4.1.3 跳表(skiplist)
4.1.4 链表结
4.2 blockingqueue(阻塞队列)
4.2.1 arrayblockingqueue
4.2.2 priorityblockingqueue
4.2.3 linkedblockingqueue
4.2.4 delayqueue
4.2.5 synchronousqueue
4.2.6 linkedblockingdeque
4.2.7 linkedtransferqueue
4.2.8 blockingqueue结
4.3 concurrentqueue(并发队列)
4.3.1 并发队列的性能
4.3.2 并发队列在使用中需要注意的问题
4.3.3 并发队列结
4.4 concurrentmap(并发映射)
4.4.1 concurrenthashmap简介
4.4.2 concurrentskiplistmap简介
4.4.3 并发映射结
4.5 写时拷贝算(copy on write)
4.5.1 copyonwrite读实现作分析
4.5.2 copyonwrite写实现作分析
4.5.3 copyonwrite结
4.6 高并发无锁(lock free)数据结构的实现
4.6.1 高并发无锁链表的实现
4.6.2 lock free数据结构的测试
4.6.3 本节结
4.7 本章结
第5章 java并发包之executorservice详解
5.1 executor&executorservice详解
5.1.1 threadpoolexecutor详解
5.1.2 scheduledexecutorservice详解
5.1.3 关闭executorservice
5.1.4 executors详解
5.1.5 executorservice结
5.2 future和callback
5.2.1 future详解
5.2.2 executorservice与future
5.2.3 future的不足之处
5.2.4 google guava的future
5.2.5 future结
5.3 forkjoinpool详解
5.3.1 fork/join framework介绍
5.3.2 forkjointask详解
5.3.3 forkjoinpool结
5.4 pletionservice详解
5.4.1 executorservice执行批量任务的缺陷
5.4.2 pletionservice详解
5.4.3 pletionservice结
5.5 pletablefuture详解
5.5.1 pletablefuture的基本用
5.5.2 任务的异步运行
5.5.3 异步任务链
5.5.4 合并多个future
5.5.5 多future的并行计算
5.5.6 错误处理
5.5.7 k 9对pletablefuture的一步支持
5.5.8 pletablefuture结
5.6 本章结
第6章 java streams详解
6.1 stream介绍及其基本作
6.1.1 如何创建stream
6.1.2 stream之intermediate作
6.1.3 stream之terminal作
6.1.4 numericstream详解
6.1.5 stream结
6.2 collector在stream中的使用
6.2.1 初识collector
6.2.2 collectors用详解
6.2.3 自定义collector
6.2.4 collector结
6.3 parallel stream详解
6.3.1 并行流parallel stream
6.3.2 spliterator 详解
6.3.3 spliterator结
6.4 本章结
第7章 metrics(powerful toolkit for measure)
7.1 metrics快速入门
7.1.1 如何监控度量应用程序
7.1.2 metrics环境搭建
7.2 五大metric详解
7.2.1 meter
7.2.2 gauge
7.2.3 counter
7.2.4 histogram
7.2.5 timer
7.3 reporter详解
7.3.1 consolereporter
7.3.2 logreporter
7.3.3 jmxreporter
7.3.4 csvreporter
7.4 metrics plugins
7.4.1 health check
7.4.2 jvm instrumentation
7.5 深入metrics源码
7.5.1 metricregistry如何工作
7.5.2 reporter如何工作
7.5.3 拾遗补漏
7.6 本章结