Java面试题:JMM内存模型

JMM(java内存模型)

Java Memory Model

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

JMM内存

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

工作内存

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

主内存

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

线程之间同步数据

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

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

相关推荐
Dola_Pan2 小时前
Linux文件IO(二)-文件操作使用详解
java·linux·服务器
wang_book2 小时前
Gitlab学习(007 gitlab项目操作)
java·运维·git·学习·spring·gitlab
AI原吾2 小时前
掌握Python-uinput:打造你的输入设备控制大师
开发语言·python·apython-uinput
机器视觉知识推荐、就业指导2 小时前
Qt/C++事件过滤器与控件响应重写的使用、场景的不同
开发语言·数据库·c++·qt
毕设木哥2 小时前
25届计算机专业毕设选题推荐-基于python的二手电子设备交易平台【源码+文档+讲解】
开发语言·python·计算机·django·毕业设计·课程设计·毕设
珞瑜·2 小时前
Matlab R2024B软件安装教程
开发语言·matlab
weixin_455446172 小时前
Python学习的主要知识框架
开发语言·python·学习
孤寂大仙v2 小时前
【C++】STL----list常见用法
开发语言·c++·list
蜗牛^^O^3 小时前
Docker和K8S
java·docker·kubernetes
她似晚风般温柔7893 小时前
Uniapp + Vue3 + Vite +Uview + Pinia 分商家实现购物车功能(最新附源码保姆级)
开发语言·javascript·uni-app