Java线程并发和函数式编程

讲解各种集合类型的特点、多线程编程、并发和函数式等常见基础问题,为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 原子操作
  • 并发集合
  • 线程池
  • 函数化编程
  • 并发专题小结