java内存模型JMM

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

核心概念:

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

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

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

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

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

相关推荐
清风徐来QCQ4 分钟前
js中的模板字符串
开发语言·前端·javascript
2301_8184190110 分钟前
C++中的协程编程
开发语言·c++·算法
add45a12 分钟前
C++中的工厂方法模式
开发语言·c++·算法
java1234_小锋13 分钟前
Java高频面试题:Spring-AOP通知和执行顺序?
java·开发语言·spring
番茄去哪了16 分钟前
Java基础面试题day02
java·开发语言·面向对象编程
xushichao198920 分钟前
C++中的工厂模式高级应用
开发语言·c++·算法
njsgcs21 分钟前
c# solidworks 折弯系数检查
开发语言·c#
SuperEugene25 分钟前
Vue3 + Element Plus 表格实战:批量操作、行内编辑、跨页选中逻辑统一|表单与表格规范篇
开发语言·前端·javascript
2501_9249526928 分钟前
C++模块化编程指南
开发语言·c++·算法
2401_8319207432 分钟前
基于C++的爬虫框架
开发语言·c++·算法