这几天翻看别人写的博客,大家都很关心并发的问题,也涉及到了实际处理并发的总总技术。结合之前的经验,我也突然有了些灵感,准备写几篇跟大家交流一下,也正好自己沉淀积累一下。
大概的一个计划,并发问题在编程层面就是多线程的问题,最后会落实到具体的线程技术
- 并发/线程的一些概念,概念很重要,没有理论指导的话会导致理解不够全面
- 多线程问题的本质 -- 有序性,可见性,原子性
- synchronize的底层实现
- volatile的底层实现
- 无锁算法的底层实现 -- CAS
- 原子变量的实现
- final关键字的新含义
- 深入理解Java内存模型
- 指令重排序和内存屏障
- 顺序一致性和Happens-before规则
- 一些基本的硬件知识
- 一些处理同步问题的技术