Java面试题:JMM内存模型

JMM(java内存模型)

Java Memory Model

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

JMM内存

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

工作内存

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

主内存

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

线程之间同步数据

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

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

相关推荐
写后端的胖头鱼7 分钟前
Java 反射详解 + 场景示例
java·反射
MayZork15 分钟前
Qt 开发集成CMake + vcpkg
开发语言·c++·qt
零基础12327 分钟前
PDF 处理工具全攻略:pdf24、PDFgear、Adobe Acrobat DC 与 Stirling-PDF 深度对比
java·开发语言·pdf
Java后端的Ai之路30 分钟前
01-React基础教程
开发语言·前端·python·react.js·前端框架
我的xiaodoujiao40 分钟前
Django 基础知识详细图文教程 14-Django 表单定义与使用
开发语言·后端·python·django
SL_staff42 分钟前
制造业数字化协同:为什么甘特图只是起点,不是终点
java·开源·全栈
(Charon)43 分钟前
【C++面试】单例模式:懒汉式与饿汉式的实现、区别与线程安全
开发语言·c++·面试
anew___1 小时前
《从零手写操作系统 (29):管道与重定向进阶——命名管道、Here Document与Shell语法扩展》
java·开发语言·前端·javascript·网络
Mikko71 小时前
JVM 线上排查实战(六):JFR 怎么用?JDK 8 要不要加 UnlockCommercialFeatures、jfr 命令在哪、录的文件为什么读不了
java·运维·jvm·后端
jimy11 小时前
虚函数和 RTTI实现运行时多态
开发语言·c++