知识体系系统梳理
不多说,我们先来看一张图
Java并发之基础
Java 并发 - 理论基础
- 多线程的出现是要解决什么问题的?
- 线程不安全是指什么?举例说明
- 并发出现线程不安全的本质什么?可见性,原子性和有序性。
- Java是怎么解决并发问题的?3个关键字,JMM和8个Happens-Before
- 线程安全是不是非真即假?不是
- 线程安全有哪些实现思路?
- 如何理解并发和并行的区别?
Java 并发 - 线程基础
- 线程有哪几种状态?分别说明从一种状态到另一种状态转变有哪些方式?
- 通常线程有哪几种使用方式?
- 基础线程机制有哪些?
- 线程的中断方式有哪些?
- 线程的互斥同步方式有哪些?如何比较和选择?
- 线程之间有哪些协作方式?
并发关键字:volatile,final,synchronized
- 关键字: synchronized详解
- 关键字: volatile详解
- 关键字: final详解
J.U.C框架
Lock框架和Tools类
类结构总览
- 接口: Condition
- 接口: Lock
- 接口: ReadWriteLock
- 抽象类: AbstractOwnableSynchonizer
- 抽象类(long): AbstractQueuedLongSynchronizer
- 核心抽象类(int): AbstractQueuedSynchonizer
- 锁常用类: LockSupport
- 锁常用类: ReentrantLock
- 锁常用类: ReentrantReadWriteLock
- 锁常用类: StampedLock
- 工具常用类: CountDownLatch
- 工具常用类: CyclicBarrier
- 工具常用类: Phaser
- 工具常用类: Semaphore
- 工具常用类: Exchanger
Collections: 并发集合
类结构关系
- Queue: ArrayBlockingQueue
- Queue: LinkedBlockingQueue
- Queue: LinkedBlockingDeque
- Queue: ConcurrentLinkedQueue
- Queue: ConcurrentLinkedDeque
- Queue: DelayQueue
- Queue: PriorityBlockingQueue
- Queue: SynchronousQueue
- Queue: LinkedTransferQueue
- List: CopyOnWriteArrayList
- Set: CopyOnWriteArraySet
- Set: ConcurrentSkipListSet
- Map: ConcurrentHashMap
- Map: ConcurrentSkipListMap
- Atomic: 原子类
- 基础类型:AtomicBoolean,AtomicInteger,AtomicLong
- 数组:AtomicIntegerArray,AtomicLongArray,BooleanArray
- FieldUpdater:AtomicLongFieldUpdater,AtomicIntegerFieldUpdaterAtomicReferenceFieldUpdater
Executors: 线程池
类结构关系
- 接口: Executor
- ExecutorService
- ScheduledExecutorService
- AbstractExecutorService
- FutureTask
- 核心: ThreadPoolExecutor
- 核心: ScheduledThreadExecutor
- 核心: Fork/Join框架
- 工具类: Executors
结语
好了,今天的分享就到这里了,如果觉得本文对你有帮助记得一键三连哦~作为阅读福利,我也把所有知识点+面试真题整理成了PDF文档(包括但不限于Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈)现在免费分享给阅读到本篇文章的Java程序员朋友们,需要的【查看下图】