java八股文面试[多线程]——并发三大特性 原子 可见 顺序

java八股文面试[多线程]——并发三大特性 原子 可见 顺序_第1张图片

java八股文面试[多线程]——并发三大特性 原子 可见 顺序_第2张图片

 java八股文面试[多线程]——并发三大特性 原子 可见 顺序_第3张图片

 java八股文面试[多线程]——并发三大特性 原子 可见 顺序_第4张图片

AutomicInteger :  volatile + CAS

总线LOCK  MESI 两个协议 TODO

volatile的可见性和禁止重排序是怎么实现的:

java八股文面试[多线程]——并发三大特性 原子 可见 顺序_第5张图片

java八股文面试[多线程]——并发三大特性 原子 可见 顺序_第6张图片

DCL场景: 

java八股文面试[多线程]——并发三大特性 原子 可见 顺序_第7张图片

new操作会在字节码层面生成两个步骤: 分配内存、调用构造器 然后把引用赋值给singleton

不加volatile则会发生指令重排,可能得到不完整的对象

知识来源:

【并发与线程】并发三大特性_哔哩哔哩_bilibili

【2022年面试】volatile的可见性和禁止指令重排序怎么实现的_哔哩哔哩_bilibili

你可能感兴趣的:(java八股文,面试,职场和发展)