文章目录
- 一. 并发基础
- 1.多线程基础
- 2. 线程安全性
- 3. 同步机制
- 4. 线程间通信
- 5. 并发集合
- 二. java 进阶
- 1. 并发工具类
- 2. 原子操作和 CAS
- 3. 线程池
- 三、并发架构
- 1. 并发设计模式
- 2. 性能调优与高级主题
- 3. 并发框架与实践
- 4. 线程分析
一. 并发基础
1.多线程基础
学习 Java 中如何创建和管理线程,了解 Thread 类和 Runnable 接口的基本用法。
理解并发编程的基本概念,如线程、进程、同步、异步等。
java并发基础 (2) -编程基础:生命周期、状态转换、实现线程的编程方式、线程互斥同步实现线程安全
2. 线程安全性
学习线程安全性的概念及其重要性。
了解数据竞争、死锁等常见并发问题。
java并发基础(1) - 理论基础:并发不安全的本质:可见性、原子性与有序性;通过互斥、非阻塞同步等实现线程安全
JVM基础(4)- JMM:java内存模型与线程安全
java 并发 - ThreadLocal详解:它是怎么做到的线程隔离
3. 同步机制
8.学习 synchronized 关键字的用法,理解对象锁和类锁。
9.了解 volatile 关键字的作用和适用场景。
java并发关键字: synchronized详解:可重入、自旋、自适应自旋、锁的升级
java并发(三)java中用到的锁
java并发关键字:volatile深入浅出:可见性、防止指令重排
4. 线程间通信
学习 wait()、notify()、notifyAll() 等方法的使用。
理解并发编程中的生产者-消费者模式。
5. 并发集合
了解并发集合类的使用,如 ConcurrentHashMap、CopyOnWriteArrayList 等。
二. java 进阶
1. 并发工具类
JUC(一)- JUC学习概览 - 对JUC有一个整体的认识
JUC(三):锁核心类AQS ing
学习并发工具类的使用,如 CountDownLatch、CyclicBarrier、Semaphore 等,理解其在多线程编程中的应用场景。
2. 原子操作和 CAS
学习 AtomicInteger、AtomicLong 等原子操作类的使用。
了解 CAS(Compare and Swap)机制及其在并发编程中的应用。
JUC(二)原子类:CAS、乐观锁、Unsafe和原子类
3. 线程池
深入学习 Executor 框架,了解不同类型的线程池及其配置参数。
掌握如何使用 ThreadPoolExecutor 来创建自定义的线程池。
JUC线程池(一): FutureTask使用
JUC线程池(二): 【面试高频】一文搞定对线程池的疑问 - ThreadPoolExecutor详解
三、并发架构
1. 并发设计模式
24.学习常见的并发设计模式,如单例模式、生产者-消费者模式、读写锁模式等。
25.理解这些设计模式的原理及其在实际项目中的应用。
2. 性能调优与高级主题
27.学习如何进行并发程序的性能调优,减少锁竞争和线程间通信的开销。
28.了解 Java 并发包的内部实现原理,探索更深层次的并发编程技术。
3. 并发框架与实践
使用一些流行的并发框架,如 Akka、RxJava 等,探索更高级的并发编程技术。
4. 线程分析
Thread Dump分析方法