讲解各种集合类型的特点、多线程编程、并发和函数式等常见基础问题,为Java和中间件体系的学习打下坚实基础。
时间2天。
线程基础
- 并发重要性
- 线程安全
- 操作系统进程
- 操作系统线程
- Java线程状态模型
- Java线程基础-继承
- Java线程基础-实现接口
- 对象间通知
- 线程协作
- Java MM
- volatile
- volatile 线程
协作加锁
- synchronized
- 实际的加锁对象
- Lock
- 公平锁
- ReadWriteLock
- StampedLock
- StampedLock原理
线程集合
- Atomic 原子操作
- CAS
- AtomicInteger
- AtomicReference
- Java集合
- 线程不安全示例
- ThreadLocal
- Future
- JDK Future接口
并发容器
- 并发容器
- sync实现线程安全
- ConcurrentLinkedQueue
- BlockingQueue
- CopyOnWriteList
- ConcurrentHashMap JDK7
- ConcurrentHashMap JDK8
- ConcurrentSkipListMap
同步控制
- Semaphore
- CountDownLatch
- CyclicBarrier
- Phaser
- AQS
- AQS API
线程池
- 线程池
- Executor框架
- 固定线程池
- 可变线程池
- 可被调度计划任务
- ThreadPoolExecutor
- ThreadPoolExecutor 任务调度策略
- 工作队列workQueue
- 拒绝策略
- 线程数估算方法
- Fork/Join 框架
Lambda
- Java 8
- Lambda表达式
- 方法引用
Stream
- Java 8 Stream
- 采用Iterator
- 采用Stream
- 常用操作
- 谓词图表
- 筛选和切片
- 映射
- 查找和匹配
- reduce
- Optional
- 一般检查 null 的代码
- 利用Optional重构
函数式编程
- 函数式编程
- FunctionalInterface
- 接口默认方法
- Future 模式缺点
- CompletableFuture
- 执行任务的类型
- runAsyc
- supplyAync
- CompletionStage
- 链式调用
- 异步调用组合
- 任意组合
并发知识脉络
- 内存模型
- 并发基础
- 锁
- 协同工具
- Atomic 原子操作
- 并发集合
- 线程池
- 函数化编程
- 并发专题小结