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

AutomicInteger : volatile + CAS

总线LOCK MESI 两个协议 TODO

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

DCL场景:

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

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

知识来源:

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

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

相关推荐
大舔牛23 分钟前
Viewport 与移动端 1px 问题解析
前端·面试
大舔牛35 分钟前
Doctype作用? 严格模式与混杂模式如何区分? 它们有何意义?
前端·面试
绝无仅有1 小时前
部署 Go 项目的 N 种方法
后端·面试·github
liulanba1 小时前
八股取士--JVM
jvm·面试·职场和发展
Baihai_IDP1 小时前
构建 AI 智能体的实用开源技术栈(框架、计算机与浏览器操控、语音功能、文档理解...)
人工智能·面试·开源
然我1 小时前
性能优化保姆级指南,一篇搞定所有考点💯
前端·面试·性能优化
似水流年流不尽思念2 小时前
Spring声明式事务原理及事务失效场景?
后端·面试
薛定谔的算法2 小时前
类型别名(Type Aliases)与接口(Interfaces):相同与不同
前端·面试·typescript
今禾2 小时前
ES6变量声明革命:深入理解let、const与块级作用域
前端·javascript·面试
uhakadotcom3 小时前
302跳转和301跳转有啥区别?
前端·面试·github