java内存模型JMM

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

核心概念:

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

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

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

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

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

相关推荐
青云交1 分钟前
Java 大视界 -- 基于 Java 的大数据实时流处理在智能电网分布式电源接入与电力系统稳定性维护中的应用
java·分布式电源·智能电网·java 大数据·flink 实时流处理·kafka 数据采集·iec 61850 协议
失散138 分钟前
分布式专题——41 RocketMQ集群高级特性
java·分布式·架构·rocketmq
hsjkdhs10 分钟前
C++之多态
开发语言·jvm·c++
失散1311 分钟前
分布式专题——42 MQ常见问题梳理
java·分布式·架构
四维碎片12 分钟前
【Qt】乌班图安装Qt环境
开发语言·数据库·qt
kyle~16 分钟前
C++STL---静态数组array
开发语言·c++
~无忧花开~26 分钟前
JavaScript学习笔记(二十八):JavaScript性能优化全攻略
开发语言·前端·javascript·笔记·学习·性能优化·js
爱编程的鱼34 分钟前
C# 变量详解:从基础概念到高级应用
java·算法·c#
ptc学习者35 分钟前
OGG 安装注意事项
java·开发语言·数据库
Camel卡蒙38 分钟前
DDD架构——充血模型、领域模型
java·设计模式·架构