当前位置:网站首页>详解JMM
详解JMM
2022-07-01 21:43:00 【键盘歌唱家】
一、计算机硬件存储体系
CPU的运行并不是直接操作内存而是先把内存里边的数据读到缓存,而内存的读和写操作的时候就会造成不一致的问题。JVM规范中试图定义一种Java内存模型(java Memory Model,简称JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。

二、简介
1.JMM简介
JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念并不真实存在它仅仅描述的是一组约定或规范,通过这组规范定义了程序中(尤其是多线程)各个变量的读写访问方式并决定一个线程对共享变量的写入何时以及如何变成对另一个线程可见,关键技术点都是围绕多线程的原子性、可见性和有序性展开的。
原则:JMM的关键技术点都是围绕多线程的原子性、可见性和有序性展开的。作用如下:
1.通过JMM来实现线程和主内存之间的抽象关系。
2.屏蔽各个硬件平台和操作系统的内存访问差异以实现让Java程序在各种平台下都能达到一致的内存访问效果。
2.缓存行的概念
一个多核cpu的每个核都自带一二级缓存,所有核都共享一个三级缓存。当把主内存的数据写入缓存时,也会顺便将附近的数据也写进去。这个写入的范围称为缓存行(大小64字节&#
边栏推荐
- 基础—io密集型计算和cpu密集型计算
- [NOIP2013]积木大赛 [NOIP2018]道路铺设 贪心/差分
- Unity 使用Sqlite
- [STM32] stm32cubemx tutorial II - basic use (new projects light up LED lights)
- Unity uses SQLite
- "The silk road is in its youth and looks at Fujian" is in the hot collection of works in the Fujian foreign youth short video competition
- 杰理之烧录都使用 VBAT 供电,供电电压 4.2V【篇】
- PCB plug hole technology~
- 比较版本号[双指针截取自己想要的字串]
- js如何获取集合对象中某元素列表
猜你喜欢

Pytest Collection (2) - mode de fonctionnement pytest
![[intelligent QBD risk assessment tool] Shanghai daoning brings you leanqbd introduction, trial and tutorial](/img/ac/655fd534ef7ab9d991d8fe1c884853.png)
[intelligent QBD risk assessment tool] Shanghai daoning brings you leanqbd introduction, trial and tutorial

【直播回顾】战码先锋首期8节直播完美落幕,下期敬请期待!

PMP证书真的有用吗?

MySQL系列之事务日志Redo log学习笔记

基于LSTM模型实现新闻分类

100年仅6款产品获批,疫苗竞争背后的“佐剂”江湖

MySQL series transaction log redo log learning notes

【商业终端仿真解决方案】上海道宁为您带来Georgia介绍、试用、教程

pytest合集(2)— pytest運行方式
随机推荐
idea中类中显示成员变量和方法
MQ learning notes
收到一封CTO来信,邀约面试机器学习工程师
函数基本学习之一
[NOIP2013]积木大赛 [NOIP2018]道路铺设 贪心/差分
PMP与NPDP之间的区别是什么?
上半年暂停考试要补考?包含监理工程师、建筑师等十项考试
Introduction à l'ingénierie logicielle (sixième édition) notes d'examen de Zhang haifan
Tops, the unit of computing power of the processor, can be carried out 1 trillion times per second
Spark面试题
Sonic云真机学习总结6 - 1.4.1服务端、agent端部署
Simple interactive operation of electron learning (III)
按照功能对Boost库进行分类
Count the number of each character in the character
微信小程序,连续播放多段视频。合成一个视频的样子,自定义视频进度条
指标陷阱:IT领导者易犯的七个KPI错误
BlocProvider 为什么感觉和 Provider 很相似?
打出三位数的所有水仙花数「建议收藏」
PCB线路板塞孔工艺的那些事儿~
matlab遍历图像、字符串数组等基本操作