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

AutomicInteger : volatile + CAS

总线LOCK MESI 两个协议 TODO

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

DCL场景:

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

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

知识来源:

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

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

相关推荐
程序员三藏3 小时前
接口测试及常用接口测试工具总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
码农水水7 小时前
中国邮政Java面试被问:容器镜像的多阶段构建和优化
java·linux·开发语言·数据库·mysql·面试·php
夏鹏今天学习了吗8 小时前
【LeetCode热题100(97/100)】二叉搜索树中第 K 小的元素
算法·leetcode·职场和发展
小桃酥ღ8 小时前
[力扣每日习题][1339]. 分裂二叉树的最大乘积 2026.01.07
算法·leetcode·职场和发展
闻哥9 小时前
Redis 避坑指南:从命令到主从的全链路踩坑实录
java·数据库·redis·缓存·面试·springboot
客卿12311 小时前
力扣20-有效括号(多家面试题)
算法·leetcode·职场和发展
阿拉伯柠檬13 小时前
网络层协议IP(三)
linux·网络·网络协议·tcp/ip·面试
C雨后彩虹13 小时前
优雅子数组
java·数据结构·算法·华为·面试
努力学算法的蒟蒻13 小时前
day67(1.26)——leetcode面试经典150
算法·leetcode·面试
a程序小傲15 小时前
得物Java面试被问:流批一体架构的实现和状态管理
java·开发语言·数据库·redis·缓存·面试·架构