
作者:谢议尊
页数:380
出版社:北京大学出版社
出版日期:2020
ISBN:9787301289464
电子书格式:pdf/epub/txt
内容简介
随着移动互联网的发展,几乎所有主流的互联网应用都需要应对高并发场景的挑战。所以不管是Java初学者,还是从业多年的Java开发老兵,了解和掌握Java高并发编程的相关知识都是很好必要的。 《Java高并发编程指南》内容由浅入深,采用理论与实践相结合的方式讲解Java高并发编程的相关知识。首先,介绍对高并发的理解、Java多线程基础、Java并发包相关类的使用与设计原理;然后,拓展讲解分布式系统设计的相关原理、挑战、涉及的相关框架、中间件等;很后,对流行的Java开源框架的源码设计进行分析,结合实现一个简易版的系统来介绍如何基于Java语言实现一个高并发系统,达到原理与实践相结合的目的,帮助读者朋友更好地掌握Java高并发编程的知识。
作者简介
谢议尊,2016年本科毕业于中山大学软件工程专业,毕业后一直从事服务端研发工作,目前在BAT其中一家任职。擅长Java服务端编程,熟悉Java各核心框架的源码设计,有着丰富的高并发系统设计与开发经验。
本书特色
系统:全书分为基础、进阶、拓展和实战四大篇,体系化讲解Java高并发编程技术
深入:深度剖析Java并发包、Dubbo等框架源码设计,领略大咖的代码设计艺术
实战:分布式系统设计理论与项目实战相结合,懂理论,能落地,手把手教你吃透高并发项目核心技术
资源:附赠全书案例源代码,知其然更知其所以然,快速上手不用愁
目录
第一部分 基础篇
第1章 高并发的理解 2
1.2 高并发的应对策略………………………………………………………….7
1.3 小结 ……………………………………………………………………… 12
第2章 操作系统多线程基础 13
2.1 线程概念…………………………………………………………………. 14
2.2 多线程的挑战 …………………………………………………………….20
2.3 小结 ………………………………………………………………………24
第3章 Java 多线程基础 25
3.1 线程的使用……………………………………………………………….26
3.2 线程的状态与状态转换…………………………………………………..34
3.3 线程安全………………………………………………………………….40
3.4 小结 ………………………………………………………………………63
第二部分 基础篇 进阶篇
第4章 Executor 线程池框架 66
4.1 Executor 线程池框架设计概述…………………………………………67
4.2 Executor 接口与 ExecutorService 接口……………………………68
4.3 ThreadPoolExecutor 线程池 ………………………………………..69
4.4 Future 任务的异步结果…………………………………………………83
4.5 ScheduledExecutorService 任务周期性执行 ……………………..92
4.6 Executors 线程池创建工具 ……………………………………………96
4.7 ForkJoin 任务分解与并行执行框架 …………………………………. 100
4.8 小结 ……………………………………………………………………. 111
第5章 Java 线程安全字典 112
5.1 Hashtable 全同步 Map……………………………………………… 113
5.2 SynchronizedMap 同步器 Map…………………………………… 116
5.3 ConcurrentHashMap 并发 Map …………………………………. 119
5.4 ConcurrentSkipListMap 有序并发 Map…………………………. 142
5.5 小结 ……………………………………………………………………. 146
第6章 Java 并发队列 147
6.1 BlockingQueue 阻塞先入先出队列 ………………………………… 148
6.2 BlockingDeque 阻塞先入先出双端队列……………………………. 161
6.3 ConcurrentLinkedQueue 并发队列 ……………………………… 165
6.4 CopyOnWriteArrayList 写时拷贝列表……………………………. 172
6.5 小结 ……………………………………………………………………. 180
第7章 AQS 线程同步器 181
7.1 AQS 线程同步器基础…………………………………………………. 182
7.2 ReentrantLock 可重入锁 …………………………………………… 191
7.3 CountDownLatch 倒计时同步器…………………………………… 203
7.4 CyclicBarrier 循环栅栏同步器 ……………………………………… 209
7.5 Semaphore 信号量同步器 ………………………………………….. 216
7.6 小结 ……………………………………………………………………. 222
第三部分 基础篇 拓展篇
第8章 分布式系统设计理论 224
8.1 系统架构演进 ………………………………………………………….. 225
8.2 分布式理论…………………………………………………………….. 231
8.3 高并发………………………………………………………………….. 234
8.4 负载均衡……………………………………………………………….. 235
8.5 缓存机制……………………………………………………………….. 239
8.6 异步处理……………………………………………………………….. 243
8.7 高可用………………………………………………………………….. 244
8.8 可靠性与容错机制……………………………………………………… 248
8.9 小结 ……………………………………………………………………. 253
第9章 Java 分布式应用设计核心技术 254
9.1 分布式服务调用 RPC 框架 …………………………………………… 255
9.2 分布式消息队列 ……………………………………………………….. 270
9.3 AMQP 协议实现:RabbitMQ ……………………………………… 270
9.4 海量消息处理:Kafka………………………………………………… 281
9.5 Redis 消息队列与发布订阅 ………………………………………….. 286
9.6 分布式缓存…………………………………………………………….. 292
9.7 分布式锁………………………………………………………………..299
9.8 小结 ……………………………………………………………………. 304
第四部分 基础篇 实战篇
第 10 章 开源框架高并发源码分析 306
10.1 Dubbo 高并发编程实战 …………………………………………….. 307
10.2 Netty 与 Tomcat 的线程模型………………………………………. 326
10.3 小结…………………………………………………………………… 348
第 11 章 秒杀系统设计分析 349
11.1 秒杀系统设计概述 ……………………………………………………. 350
11.2 限流机制 ……………………………………………………………… 355
11.3 缓存的使用……………………………………………………………. 358
11.4 分布式锁的使用………………………………………………………. 362
11.5 队列削峰与异步处理 …………………………………………………. 366
11.6 小结…………………………………………………………………… 369















