java高并发编程详解 深入理解并发核心库 编程语言 汪文君 正版pdf下载

java高并发编程详解 深入理解并发核心库 编程语言 汪文君 正版百度网盘pdf下载

作者:
简介:java高并发编程详解 深入理解并发核心库 编程语言 汪文君 正版
出版社:
出版时间:2020-07
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息
书名: java高并发编程详解 深入理解并发核心库 ISBN号: 9787111657705
作者: 汪文君 页数: 396
定价: 99.00元 出版时间: 2020-07-01
装帧: 平装 印刷时间:
出版社: 机械工业出版社 版次: 1
开本: 16开 字数:

目录

序一
序二
序三
序四
前言
章 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 本章结

内容简介

本书由浅入深、循序渐地介绍java高并发核心库的精髓,帮助读者掌握相关内容的技术细节。
内容讲解以真实问题为导向,层层递,环环紧扣,详细阐述每一个解决方案的来龙去脉。
通过大量的实际案例,剖析和实战代码相结合,让读者能够更加清晰深入地理解每一个技术细节的用和实用技巧。
详细介绍java微基准测试工具集jmh与台级性能指标数据度量工具metrics的使用方,帮助读者快速开发出高效、健壮的并发应用程序。
本书共包含四大部分。
第①部分(章)详细介绍了jmh微基准测试工具的使用细节。该工具是由oracle jvm开发团队相关成员开发的,开发者借助它能够了解自己编写的程序代码以及程序在运行期的准确性能表现。在本书的其他章节对api之间的性能行对比时,主要也是依赖该工具,因此在学本书的其他章节时,优选能够掌握该部分内容。强烈开发者将jmh纳入自己常的“兵器库”中,以便能够随时随地使用。
第②部分(第2~5章)主要围绕java并发包展开,内容包括:java的原子类型及其底层(第2章);java的并发工具集(第3章),其中还穿了google guava的部分内容;java的并发容器(第4章),包括阻塞队列blockingqueue和并发容器等内容;java的executorservice(第5章),以及future家族成员的详解。
第③部分(第6章)主要介绍自java 8 引入的stream,并且重点解释了具备高并发能力的并行流,以及如何自定义并行流等相关内容。
第④部分(第7章)深入讲解了metrics。作为一个比较小巧的度量工具集,metrics目前已经成为事实上的度量标准,在很多开源软件、框架和台中都能看到对它的使用,比如apache的kafka、spark、storm、spring cloud等都是使用metrics作为系统运行性能指标收集的手段。