java内存模型JMM

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

核心概念:

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

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

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

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

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

相关推荐
UseLessQQ10 小时前
云计算k8s集群部署
java·kubernetes·云计算
何以解忧,唯有..10 小时前
Python 线程编程:从入门到实战
开发语言·python
我命由我1234511 小时前
人脸识别 - 人脸识别选帧
java·人工智能·python·算法·安全·java-ee·人脸识别
宠友信息11 小时前
IM系统开发技术路线分析,即时通讯源码助力快速搭建聊天应用
java·spring boot·redis·websocket·mysql·uni-app·vue
long31611 小时前
封装(Encapsulation)
java·人工智能·ai·ai编程
SomeB1oody11 小时前
【RustyML入门】7.2. 深入模型持久化
开发语言·后端·机器学习·rust·教程
yaoxin52112312 小时前
502. Java 反射 - 编写 MessageInterceptor 类
java·开发语言
wuyk55512 小时前
Python零基础入门第五章:元组Tuple(不可变容器详解、列表与元组区别)
开发语言·python
风流 少年12 小时前
Spring AI 2.0:阿里云百炼平台(工作流应用)
java·后端·spring