Java面试题:JMM内存模型

JMM(java内存模型)

Java Memory Model

定义了共享内存中多线程程序读写操作的行为规范,通过这些规则来规范内存对读写的操作从而保证指令的正确性.

JMM内存

分为两块:工作内存和主内存

工作内存

每个线程在创建时都会分配一个工作内存,用以存储线程的私有数据,每个线程只能访问自己独有的工作内存

主内存

包含共享变量,对象,变量等(可能出现线程安全问题)

线程之间同步数据

线程之间是隔离的,要交互需要通过主内存

线程a先将自己的数据同步到主内存,线程b再从主内存同步到自己的内存,实现a和b的数据同步

相关推荐
孞㐑¥10 分钟前
C++之异常
开发语言·c++·经验分享·笔记
多多*11 分钟前
非关系型数据库 八股文 Redis相关 缓存雪崩 击穿 穿透
java·开发语言·jvm·数据库·redis·缓存·nosql
CoderCodingNo17 分钟前
【GESP】C++三级练习 luogu-B2114 配对碱基链
开发语言·c++
2401_8906658619 分钟前
免费送源码:Java+ssm+HTML 三分糖——甜品店网站设计与实现 计算机毕业设计原创定制
java·python·微信小程序·html·php·课程设计·android-studio
敲代码的瓦龙20 分钟前
C++?动态内存管理!!!
c语言·开发语言·数据结构·c++·后端
zuckzhao9521 分钟前
Spring Security入门学习(一)Helloworld项目
java·学习·spring
凯子坚持 c25 分钟前
Trae 宝藏功能实测:从 Mcp 搭建天气系统,到 AI 重塑 Excel 数据处理
java·人工智能·excel
Ronin30539 分钟前
【C++】13.list的模拟实现
开发语言·数据结构·c++·list
Star abuse44 分钟前
Python爬虫课程实验指导书
开发语言·爬虫·python
浪前1 小时前
【项目篇之消息持久化】仿照RabbitMQ模拟实现消息队列
java·数据库·rabbitmq·ruby