Java面试题:JMM内存模型

JMM(java内存模型)

Java Memory Model

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

JMM内存

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

工作内存

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

主内存

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

线程之间同步数据

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

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

相关推荐
峥嵘life13 小时前
Android WiFi 热点 Channel 信道 和 Frequency 频率 转换总结
android·开发语言
wgego14 小时前
基础的反序列化一些总结(php和java)
java·开发语言·笔记
冻柠檬飞冰走茶14 小时前
PTA基础编程题目集 7-8超速判断(C++语言实现)
开发语言·数据结构·c++·算法
机建狂魔14 小时前
Codex 接入第三方模型 API 实战:以 Mimo 为例
java·服务器·数据库·ai·ai编程·codex
山峰哥15 小时前
数据库工程与SQL调优:从慢查询到秒级响应的实战之路
java·开发语言·数据库·sql·深度优先·启发式算法
乐观的Terry15 小时前
11、发布系统-用户认证与权限体系
java·spring boot·spring·spring cloud·mybatis
前端开发张小七15 小时前
Java 学习笔记 · 第二课:面向对象核心(封装、继承、多态)及接口与异常
java·后端·程序员
wangjialelele15 小时前
Selenium4 + Java Web自动化测试入门指南:从环境搭建到常用操作详解
java·开发语言·前端·测试工具·自动化
Awna15 小时前
Golang 大小写可见性规范
开发语言·后端·golang
孙启超15 小时前
【AI应用开发】LangChain 中 Chain 和 Agent 核心区别?
java·人工智能·langchain·llm·rag·ai应用开发·agent loop