java内存模型JMM

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

核心概念:

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

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

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

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

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

相关推荐
Halo_tjn几秒前
Java 接口的定义重构学生管理系统
java·开发语言·算法
Albert Edison7 分钟前
【RabbitMQ】快速入门
java·分布式·rabbitmq
阿Y加油吧7 分钟前
栈的经典应用:从「有效括号」到「寻找两个正序数组的中位数」深度解析
开发语言·python·算法
ch.ju8 分钟前
Java程序设计(第3版)第二章——类型转换(1)
java
XiYang-DING10 分钟前
【Java】哈希
java·哈希算法·散列表
ai旅人13 分钟前
Guava RateLimiter深度解析:非阻塞令牌桶限流原理与跑批实战
java·限流·guava
xiaotao13113 分钟前
阶段零:Python 安装与虚拟环境(venv / Conda)
开发语言·人工智能·python·conda
Seven9715 分钟前
【从0到1构建一个ClaudeAgent】规划与协调-技能
java
dr_yingli17 分钟前
fMRI(4-1)统计分析报告生成器说明
开发语言·matlab
范什么特西20 分钟前
MyEclipse8.5配置
java·ide·myeclipse