java内存模型JMM

Java 内存模型(Java Memory Model,JMM)定义了 Java 程序中的变量、线程如何和本地内存以及主内存进行交互的规则。它主要涉及到多线程环境下的共享变量可见性、指令重排等问题,是理解并发编程中的关键概念。

核心概念:

• 本地内存/工作内存:每个线程私有的内存空间,存储该线程使用变量的副本,每个线程只能操作自己本地内存中的变量,无法直接访问其他线程的本地内存。如果线程间需要通信,必须通过主内存来进行。

• 主内存:所有共享变量的存储区域,不管该实例对象是成员变量,还是局部变量,类信息、常量、静态变量都是放在主内存中。

内存间交互操作:8种原子操作

happens-before原则:定义操作之间的可见性关系,确保前一个操作的结果对后续操作可见

JMM的关键特性:原子性、可见性、有序性

相关推荐
Yang96112 分钟前
0.5 米超短盲区!鼎讯信通 GO-50PRO 光时域反射仪科普
开发语言·后端·golang
红辣椒...5 分钟前
codex+第三方模型
java·服务器·前端
不会C语言的男孩6 分钟前
C++ Primer Plus 第12章:类和动态内存分配
开发语言·c++
一个做软件开发的牛马15 分钟前
Java 继承与多态:从"是什么"到"能做什么"的设计思维
java·后端
不懂的浪漫24 分钟前
05|Netty ByteBuf 源码分析:为什么不用 Java ByteBuffer
java·netty
阿里嘎多学长28 分钟前
2026-05-30 GitHub 热点项目精选
开发语言·程序员·github·代码托管
wapicn9931 分钟前
API接口调试笔记:从注册到第一个数据返回,全流程详解
java·开发语言·python·lua
程序员阿明33 分钟前
flowable集成flowable及其运行示例spring boot后端
java·spring boot·后端
.千余36 分钟前
【Linux】 TCP进阶详解:字节流、粘包问题、异常情况与UDP完整对比2
linux·运维·c语言·开发语言·经验分享·笔记·php
geovindu36 分钟前
python: Bounded Parallelism Pattern
开发语言·python·设计模式·有界并行模式