java 并发指南_Java高并发编程指南

随着移动互联网的发展,几乎所有主流的互联网应用都需要应对高并发场景,所以不管是Java初学者,还是Java开发老兵,了解和掌握Java高并发编程的相关知识都是非常必要的。本书以由浅入深的方式来对Java高并发编程的相关知识进行讲解,首先是对高并发的理解、多线程基础、Java并发包相关类的使用与设计原理进行介绍;然后再拓展讲解高并发系统设计的相关原理和涉及的相关框架、中间件等;最后对流行的Java开源框架的源码设计进行分析,以及结合实现一个简易版的秒.杀系统来介绍如何基于Java语言实现一个高并发系统,最终达到原理与实践结合的目的。

1.内容由浅入深,详略得当,符合认知规律

本书在整体内容结构方面,依次分为基础篇、进阶篇、拓展篇和实战篇。通过这种由浅

入深、循序渐进的讲解方式,初学者在对整本书学习后能够掌握  Java  高并发编程的核心要点。

对于拥有一定经验的工程师来说,则可以根据自身技术的掌握情况,有选择地学习相应的章节。

2.丰富的  Java  并发包和开源框架源码分析,知其然更知其所以然

本书的定位是让读者不只停留在对  Java  并发包和开源框架相关核心类用法的掌握上,而且

能够理解和掌握对应类的底层源码实现,从而设计出更加健壮和高效的代码,以及在工作中可

以快速定位问题所在。所以本书提供了丰富、详细的  Java  并发包和开源框架的源码设计与实现

分析,以便读者能够知其然更知其所以然。其中  Java  源代码分析主要是基于  JDK  1.8  版本。

3.分布式、高并发设计要点分析,提高实战能力

接触过高并发设计的工程师都知道,高并发是绕不开分布式的。因为多线程设

计只能蕞大限度地提高单台机器的并发处理能力,要应对海量高并发请求,单台机器是远远

不够的。所以在本书的第三部分对分布式设计的相关理论、核心设计要点,以及相关技

术框架和中间件进行了分析,以便帮助读者能够理解和掌握如何进行企业级的高并发设

计,提高实战能力。

谢议尊,毕业于中山大学软件工程专业,目前在BAT其中一家担任高级开发工程师,擅长Java高并发服务端编程,有着丰富的一线开发实战经验。

第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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值