Java并发-概述
# 前言
现如今Java相关的面试基本上完全无法避开并发的话题,从Java本身的并发开始,再聊到缓存、数据库的并发、再衍生到业务上的商品抢购并发,虽然涉及的领域并不相同,然后底层却是有相同的概念以及逻辑,所以系统性的学习Java并发领域相关的知识可以有效的帮我们打好基础,再处理其他领域的并发会游刃有余。
# 知识体系
# Java并发理论基础
# 基础概念
- 为什么需要并发?
- 并发与并行?
- 线程与进程?
- 并发为什么不安全?不安全的根源是什么?
# 线程基础
- 线程与进程?
- Java线程机制?
- Java线程的生命周期?
- 线程的如何中断?
- 线程的互斥与协作?
# JMM理论
- JMM是什么?诞生的背景是什么?
- JMM解决的问题是什么 ?怎么解决的?
- JMM的核心机制是什么?
# Java并发解决方案
# Java语言层面解决
- Java提供的锁有哪些?分别有什么作用? 使用场景是什么?
- synchroize 关键字的原理是什么? 解决了什么问题?
- volatile关键字的原理是什么?解决了什么问题?
- final关键字的原理是什么?解决了什么问题?
# Java线程级别解决
- 线程之间是如何通信与协作的?
# Java提供的并发工具
# 并发锁
- JUC 原子类、CAS原理,源码解析
- JUC 底层工具锁 LockSupport,AQS,ReentrantLock等原理解析
# 并发集合
- JUC 并发集合,ConcurrentHashMap 、CopyOnWriteArrayList、BlockingQueue等
# 并发框架
- JUC并发框架,ThreadPoolExecutor、ScheduledThreadPool、Fork/Join框架、FutureTask等
# 并发工具
- JUC降低编程难度的工具类,CountDownLatch、CyclicBarrier、Semaphore、ThreadLocal等
上次更新: 2024/06/05, 22:36:57