让你成为Java并发大师的一个练习项目
还在愁Java并发知识总是学了忘?项目中没有练手的地方? 或许只是你没有这方面的意识!来这就对了!从理论到实战,系统掌握Java并发编程核心技术,你也可以是一个并发大师!
项目地址:https://github.com/penghs520/concurrency-exercises
这个项目当然是Claude Code生成的啦,消耗了40$ tokens,质量很不错,欢迎你来提提PR,点点Star。
另外我还制作了一个MySQL从基础到精通的教程,项目地址:https://github.com/penghs520/mysql-exercises,质量也是非常棒,五星推荐! 后面有时间我还会陆续推出更多的练习项目。
项目简介
这个项目包含了8个知识点模块,覆盖Java并发核心理论和API,每个模块都提供了理论教程、Demo、2~3个练习题和答案,以及3个实战项目,提供真实业务场景的并发解决方案,并且每个场景都提供了多套解决方案。
通过理论 +练习 + 实战,效果非常好,希望你可以在一至两周内熟练掌握所有Java并发相关的知识,真正成为一个Java并发高手,而不只是学了就忘。
快速开始
环境要求
- JDK: 17+
- Maven: 3.6+
- IDE: IntelliJ IDEA / VS Code
安装与运行
1 | # 克隆项目 |
学习路线图
Part 1: 知识点模块(按顺序学习)
基础阶段
- module-01-thread-basics - 线程基础
- 线程创建与启动、生命周期、中断机制
- 练习:多线程下载器、线程协调
- module-02-synchronization - 同步机制
- synchronized、wait/notify、死锁分析
- 练习:有界缓冲区、读写锁实现、哲学家就餐
- module-03-locks - Lock框架
- ReentrantLock、ReadWriteLock、Condition
- 练习:公平/非公平锁对比、自定义阻塞队列
中级阶段
- module-04-atomic - 原子类
- AtomicInteger、AtomicReference、CAS原理
- 练习:点击计数器、无锁栈
- module-05-concurrent-collections - 并发集合
- ConcurrentHashMap、BlockingQueue、CopyOnWriteArrayList
- 练习:线程安全缓存、工作队列
- module-06-thread-pool - 线程池
- ThreadPoolExecutor原理、参数调优、自定义线程池
- 练习:动态线程池、任务调度
高级阶段
- module-07-completable-future - 异步编程
- CompletableFuture链式调用、异常处理
- 练习:并行API调用、异步管道
- module-08-advanced - 高级主题
- ForkJoin、StampedLock、Phaser
- 练习:并行归并排序、并发跳表
Part 2: 实战项目(综合应用)
项目1: 秒杀系统 ⭐⭐⭐
- 场景:高并发秒杀抢购
- 并发挑战:超卖防护、库存一致性
- 技术栈:synchronized → ReentrantLock → 分布式锁
- 性能要求:支持10000+ QPS
项目2: 即时通讯服务器 ⭐⭐⭐⭐
TODO
- 场景:WebSocket聊天服务器
- 并发挑战:会话管理、消息广播、背压处理
- 技术栈:NIO、线程池、ConcurrentHashMap
- 性能要求:10k连接、消息延迟<100ms
项目3: 分布式缓存 ⭐⭐⭐⭐
TODO
- 场景:高性能本地缓存系统
- 并发挑战:缓存穿透、缓存雪崩、热点数据
- 技术栈:ConcurrentHashMap、ReadWriteLock、LRU
- 性能要求:读99.9% < 1ms
项目结构
1 | concurrency-exercises/ |
核心技术栈
并发工具
- ✅ Thread、Runnable、Callable
- ✅ synchronized、volatile、final
- ✅ Lock、ReentrantLock、ReadWriteLock
- ✅ Atomic*、LongAdder
- ✅ ConcurrentHashMap、BlockingQueue
- ✅ ThreadPoolExecutor、ForkJoinPool
- ✅ CompletableFuture、Future
- ✅ Semaphore、CountDownLatch、CyclicBarrier
- ✅ Phaser、Exchanger、StampedLock
测试与工具
- JUnit 5:单元测试
- JMH:性能基准测试
- SpotBugs:并发问题静态检测
- AssertJ:流式断言
开始你的并发编程之旅吧! 🚀
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 我的代码世界!
