Java并发编程——笔记与总结
其他
2021-04-06 16:54:36
阅读次数: 0
JUC并发包结构图
![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWFnZXMyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvMTUwMDQ2LzIwMTgwNi8xNTAwNDYtMjAxODA2MTAyMDUxNTI1MTEtMTgwMDI4NC5wbmc?x-oss-process=image/format,png)
1. 基础知识
- Java并发编程2——Java线程:https://blog.csdn.net/qq_41157876/article/details/114902271
- 线程的创建(Thread,Runnable,FutureTask)
- 线程的常用方法
- 线程的生命周期和状态
- 操作系统层面:五种状态
- Java API层面:六种状态
- 查看线程和进程方法
- 锁对象的方法:wait()和notify()
- 执行原理
- WAITING与BLOCKED状态的区别
- wait()与sleep()的区别
- notify()与notifyAll()的区别
- 虚假唤醒
- LockSupport类的方法:park()和unpark(thread)
- Java并发编程3——JMM / synchronized / volatile / Monitor / 加锁算法:https://blog.csdn.net/qq_41157876/article/details/114930398
- Java内存模型(原子性,可见性,有序性)
- volatile
- synchronized
- 两种加锁方式
- 实例加锁:synchronized(this) / 普通方法
- 类对象加锁:synchronized(this.class) / 静态方法
- 底层原理:Monitor
- monitorenter / monitorexit / ACC_SYNCRONIZED
- C++结构体:Entry_list,Wait_List,Owner
- 对象头
- 锁
- 重量级锁
- 轻量级锁
- 偏向锁
- 其他优化:自旋,锁粗化,锁消除
2. executor
- Java并发编程4——Executor / ExecutorService / ThreadPoolExecutor线程池:https://blog.csdn.net/qq_41157876/article/details/115297036
- 继承关系
- Executor接口(顶层接口)
- ExecutorService接口
- AbstractExecutorService抽象类
- ThreadPoolExecutor实现类
- ThreadPoolExecutor
- 属性
- 线程池状态(ctl属性)
- 构造器 / 参数
- 线程池运行机制
- 源码级别
- Executors工具类提供的线程池实现
- nexFixedThreadPool:固定大小的线程池
- newCachedThreadPool:带缓冲池的线程池
- newSingleThreadExecutor:单线程线程池
- 其他
- submit() / invokeAny() / invokeAll()使用示例
- Java并发编程5——Future 和 Callable:
3. Atmoic原子类
- Java并发编程6——Atomic家族1:https://blog.csdn.net/qq_41157876/article/details/115331426
- 概述
- 基本类型(boolean, int, long, 对象)
- AtomicBoolean
- AtomicInteger
- AtomicLong
- AtomicReference
- 数组(Long, Integer, 对象)
- AtomicLongArray
- AtomicIntegerArray
- AtomicReferenceArray
- 字段更新器(指定对象的指定字段)
- AtomicLongFieldUpdater
- AtomicIntegerFieldUpdater
- AtomicReferenceFieldUpdater
- 带版本号引用类型(对象,解决ABA)
- AtomicStampedReference
- AtomicMarkableReference
- 原子累加器(JDK1.8):AtomicLong和AtomicDouble的升级类型,专门用于数据统计,性能更高。
- DoubleAccumulator
- DoubleAdder
- LongAccumulator
- LongAdder
3.locks 锁相关
4. tools工具包
5. collections 安全的集合类
- Queue 阻塞队列和非阻塞队列
- CopyOnWrite系列
- concurrentHashMap
转载自blog.csdn.net/qq_41157876/article/details/107926191