Java面试题:JMM内存模型

JMM(java内存模型)

Java Memory Model

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

JMM内存

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

工作内存

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

主内存

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

线程之间同步数据

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

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

相关推荐
古城小栈几秒前
Rust 已经自举,却仍需GNU与MSVC工具链的缘由
开发语言·rust
鱼跃鹰飞4 分钟前
经典面试题:K8S的自动缩扩容和崩溃恢复
java·容器·kubernetes
jarreyer5 分钟前
数据项目分析标准化流程
开发语言·python·机器学习
你怎么知道我是队长8 分钟前
C语言---printf函数使用详细说明
c语言·开发语言
Coder_Boy_8 分钟前
Spring Boot 事务回滚异常 UnexpectedRollbackException 详解(常见问题集合)
java·spring boot·后端
青云交10 分钟前
Java 大视界 -- 基于 Java+Redis Cluster 构建分布式缓存系统:实战与一致性保障(444)
java·redis·缓存·缓存穿透·分布式缓存·一致性保障·java+redis clus
liulilittle10 分钟前
俄罗斯访问欧洲国际线路优化
开发语言·网络·信息与通信·ip·通信·俄罗斯·莫斯科
不知疲倦的仄仄11 分钟前
第五天:深度解密 Netty ByteBuf:高性能 IO 的基石
java·开源·github
陈小桔12 分钟前
logging模块-python
开发语言·python
消失的旧时光-194313 分钟前
函数指针 + 结构体 = C 语言的“对象模型”?——从 C 到 C++ / Java 的本质统一
linux·c语言·开发语言·c++·c