当前位置: 首页 > news >正文

JMM Java 内存模型

JMM(Java Memory Model),不是 JVM 内存结构(堆、栈、方法区),而是 Java 多线程并发时的内存访问规则


 

1. JMM 到底是什么? 

JMM 就是一套规则,用来保证多线程环境下,共享变量的可见性、原子性、有序性。它解决的核心问题: 多线程同时读写同一个变量时,数据不一致、读不到最新值、指令重排导致 bug。
 

 

2. JMM 的核心结构 

JMM 规定了两种内存:

① 主内存(Main Memory)

  • 存放所有共享变量(实例变量、静态变量)
  • 所有线程共享

② 工作内存(Working Memory)

  • 每个线程自己独有的
  • 存储线程用到的变量副本
  • 线程不能直接修改主内存,只能修改自己的副本

 

3. JMM 的交互规则(最重要)

  1. 线程不能直接读写主内存
  2. 线程只能操作自己工作内存里的变量副本
  3. 修改变量后,必须同步回主内存
  4. 其他线程必须从主内存重新读取才能拿到最新值
 

 

4. JMM 要解决的 3 大问题(面试必考)

① 可见性(Visibility) 

一个线程改了变量,其他线程能立刻看到
问题:线程 A 改了,线程 B 可能还读旧值。
解决:volatile、synchronized、Lock

② 原子性(Atomic)

一个操作不可中断,要么全部成功,要么全部失败。
问题:i++ 不是原子操作,多线程会少算。
解决:synchronized、Lock、AtomicInteger

③ 有序性(Ordering) 

程序执行顺序按代码顺序,不被 CPU 乱序优化。
问题:CPU 会指令重排,单线程没事,多线程崩溃。
解决:volatile、synchronized、happens-before
 

 

5. JMM 最核心的 3 个关键字

① volatile 

保证:可见性 + 禁止指令重排
不保证:原子性

② synchronized

保证:可见性 + 原子性 + 有序性
全能,但重量大

③ final 

修饰的变量不可变,线程安全
 

 

6. JMM 最重要的规则:Happens-Before

 
前面的操作,结果一定对后面可见。
常用规则:
  • 单线程按顺序执行
  • volatile 写先于读
  • unlock 先于 lock
  • 线程 start 先于 run
  • 线程结束先于后续操作

 

7. 一句话总结 JMM 

JMM 就是一套规范,用来控制多线程之间怎么安全地读写共享变量,保证可见性、原子性、有序性,避免并发 bug。

 超级记忆版
  • JMM ≠ JVM 内存结构
  • JMM = 多线程共享变量访问规则
  • 解决:可见性、原子性、有序性
  • 关键:主内存、工作内存、volatile、synchronized
 
http://www.jsqmd.com/news/439373/

相关文章:

  • 2026年3月深圳南山区考研线下培训推荐:行业权威盘点与品质红榜 - 品牌鉴赏师
  • 2026年3月水平带式过滤机厂家推荐,专业制造与品牌保障口碑之选 - 品牌鉴赏师
  • 讲讲AI智能办公鼠标怎么选购,南方网通鸿容鼠标值得考虑 - myqiye
  • 从 GUI 自动化到自主智能体:深度拆解实在 Agent 的 TARS 大模型与 ISSUT 技术架构
  • 2026实验台公司哪家强?五大专业实验室装修公司推荐,排风、通风柜与整体改造能力全解析 - 深度智识库
  • 2026年密封垫片生产厂家电话查询推荐:优质供应商名录汇总 - 十大品牌推荐
  • 2026年3月机床拖链厂家最新推荐,机床设备专用防护 - 品牌鉴赏师
  • 2026GEO服务商推荐:6家靠谱选择帮你搞定AI搜索曝光!
  • 探讨上饶智能网联专业学校,口碑好的是哪家? - 工业品牌热点
  • sci投稿服务推荐哪个品牌,投必得在多地好用吗 - 工业推荐榜
  • 2026年3月铝合金河道护栏厂家推荐,专业制造与品牌保障口碑之选 - 品牌鉴赏师
  • 2026探讨靠谱的耐候钢企业,解析选购要点与推荐品牌 - 工业品网
  • 分析2026年推荐的无人机模拟软件,不同价格的产品特点 - 工业品牌热点
  • 本地视频生成观看链接的教程(支持网站中调用的那种)
  • 2026年3月共箱母线厂家最新推荐,一体化配电解决方案 - 品牌鉴赏师
  • 2026服务不错的GEO推广品牌企业盘点,性价比高的有哪些 - 工业品网
  • 如何通过靠谱平台回收瑞祥商联卡?线上操作安全又高效! - 团团收购物卡回收
  • 2026年GEO推广机构费用分析,有实力的企业排名揭晓 - 工业设备
  • 2026 GEO软件开发推荐:6家工具帮你搞定AI搜索流量!
  • 细聊2026年整体橱柜定制服务,京津冀地区选哪家合适 - mypinpai
  • # 什么是 AI Agent?一文了解 AI Agent 的组件构成
  • 详解HFBPM开发框架(下)
  • 探讨口碑好的进销存软件代理商,珠海哪家值得推荐? - myqiye
  • 真心不骗你 9个AI论文写作软件测评:继续教育毕业论文+开题报告高效工具推荐
  • 2026年特氟龙螺母领域,这些螺母公司表现亮眼,螺栓/涂胶/非标螺丝/紧固件/螺母/五金件/标准件,螺母源头厂家排行 - 品牌推荐师
  • 2026年高性价比儿童学习桌推荐:Top 5品牌客观解析 - 博客万
  • 2026市场上可靠的SSL证书提供商哪家好?SSL证书申请/SSL证书购买渠道推荐 - 麦麦唛
  • 2026年评测:这款高大空间冷暖风机,性能表现如何?空调机组/冷却器/干冷器,高大空间冷暖风机企业推荐 - 品牌推荐师
  • 导师推荐!断层领先的降AI率平台 —— 千笔·专业降AI率智能体
  • 详解HFBPM开发框架(上)