如今,秒杀已经变得十分常见,我们也都习以为常。
然而,从技术的角度来说,秒杀对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。
曾经,我面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态。
很多开发者都遇到过高并发的情况,最近很多小伙伴也是问我要一些 高并发 相关的资料,于是我翻箱倒柜,找到了这本非常经典的高并发实战干货
资料介绍
本书主要介绍基于Java的并行程序设计基础、思路、方法和实战。首先,立足于并发程序基础,详细介绍Java进行并行程序设计的基本方法。其次,进一步详细介绍了JDK对并行程序的强大支持。此外,还详细介绍了并行程序的调试方法。本书内容丰富,实例典型,实用性强,适合有一定Java基础的技术开发人员阅读。
第1章 走入并行世界
- 同步(Synchronous)和异步(Asynchronous)
- 并发(Concurrency)和并行(Parallelism)
- 阻塞(Blocking)和非阻塞(Non-Blocking)
- 死锁(Deadlock)、饥饿(Starvation)和活锁(Livelock)
-
JMM
第2章 Java并行程序基础
- 有关线程你必须知道的事
- volatile与Java内存模型(JMM)
- 线程安全的概念与synchronized
-
驻守后台:守护线程(Daemon)
第3章 JDK并发包
- 多线程的团队协作:同步控制
- 线程复用:线程池
- JDK的并发容器
-
线程安全的HashMap
第4章 锁的优化及注意事项
- 有助于提高“锁”性能的几点建议
- Java虚拟机对锁优化所做的努力
- 轻量级锁
- 自旋锁
-
锁消除
第5章 并行模式与算法
- 探讨单例模式
- 不变模式
- 生产者-消费者模式
- 高性能的生产者-消费者:无锁的实现
- Future模式
-
网络NIO
第6章 Java 8与并发
- 函数式编程
- lambda表达式
- 并行流与并行排序
- 增强的Future:CompletableFuture
- 读写锁的改进:StampedLock
-
原子类
第7章 使用Akka构建高并发程序
- 新并发模型:Actor
- 消息投递
- Akka之Hello World
-
Actor的生命周期
第8章 并行程序调试
- 准备实验样本
- 启动虚拟机
-
调试进入ArrayList内部