集合
java集合框架图
HashMap
基本概念
- table:存储所有节点数据的数组
- slot:哈希槽。即table[i]
- bucket:哈希桶。table[i]上所有元素形成的表或树的集合
Hash算法
并发处理
线程安全
- 数据单线程内可见
- 只读对象
- 线程安全类
- 同步与锁机制
锁
AQS
- Abstract抽象:包含tryAcquire、trRelease等5个抽象方法,具体由子类实现;
- Queued队列:利用队列来管理竞争共享资源的多线程,这个队列是Node节点的引用虚拟实现;
- Synchronizer同步器:是一个解决多线程同步问题的工具。
Lock、AQS与AOS的关系
Lock实现类的内部类继承AQS,AQS继承AOS
线程与线程池
线程池的作用
- 利用线程池管理并复用线程、控制最大并发数等。
- 增加对线程的管理,快速排查问题。
- 实现任务线程队列缓存策略和拒绝机制。
- 实现某些与时间相关的功能,定时执行、周期执行等
- 隔离线程环境