1. Java 并发知识
  2. 理解线程安全
  3. 1. 理想的并发世界
  4. 2. 残酷的现实
  5. 3. Happens Before
  6. 4. 常见线程安全问题
    1. 4.1. TOCTOU
    2. 4.2. Double Checked Locking
    3. 4.3. 复合操作
    4. 4.4. 小结
  7. 5. 良好的并发编程习惯
    1. 5.1. 封闭
    2. 5.2. 不可变
    3. 5.3. 利用线程安全类
  8. 6. 思考题
    1. 6.1. Spring Bean 初始化如何线程安全
  9. 线程与线程池
  10. 7. Amdahl 定律
  11. 8. 线程的代价
  12. 9. 线程池
    1. 9.1. 线程池相关概念
    2. 9.2. 预定义的线程池
    3. 9.3. 线程池使用
    4. 9.4. 线程的中断
    5. 9.5. 如何优雅退出
  13. 10. 线程调度
  14. 源码分析
  15. 11. 怎么看源码
  16. 12. Unsafe
  17. 13. Atomic
    1. 13.1. AtomicInteger
    2. 13.2. AtomicIntegerArray
    3. 13.3. Striped64
    4. 13.4. Adder
    5. 13.5. FieldUpdater
    6. 13.6. StampedReference
  18. 14. AbstractQueuedSynchronizer
    1. 14.1. 互斥锁
    2. 14.2. 共享锁
    3. 14.3. 超时
    4. 14.4. 中断
    5. 14.5. 取消
    6. 14.6. 条件变量
    7. 14.7. 小结
  19. 15. Lock
    1. 15.1. ReentrantLock
    2. 15.2. ReentrantReadWriteLock
    3. 15.3. StampedLock

Java 并发知识

思考题