当前位置:网站首页>详解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字节&#
边栏推荐
- TOPS,处理器运算能力单位、每秒钟可进行一万亿次
- 地图其他篇总目录
- [STM32] stm32cubemx tutorial II - basic use (new projects light up LED lights)
- require与import的区别和使用
- Make a three digit number of all daffodils "recommended collection"
- Simple interactive operation of electron learning (III)
- Flume面试题
- Application of real estate management based on 3D GIS
- ICML2022 | 基于元语义正则化的介入性对比学习
- MQ学习笔记
猜你喜欢

Spark interview questions

K-means based user portrait clustering model

I received a letter from CTO inviting me to interview machine learning engineer

从MLPerf谈起:如何引领AI加速器的下一波浪潮

MIT|256KB 内存下的设备上训练

News classification based on LSTM model

首席信息官对高绩效IT团队定义的探讨和分析

js如何获取集合对象中某元素列表

Pytest Collection (2) - mode de fonctionnement pytest

【深度学习】利用深度学习监控女朋友的微信聊天?
随机推荐
Pytest Collection (2) - mode de fonctionnement pytest
Separate the letters and numbers in the string so that the letters come first and the array comes last
能升职加薪?PMP证书含金量浅析
Simple interactive operation of electron learning (III)
基于LSTM模型实现新闻分类
测试撤销1
What is the difference between consonants and Initials? (difference between initials and consonants)
浏览器tab页之间的通信
编程英语生词笔记本
[monomer] recommended configuration of streaming information i-bpsv3 server
Go - exe corresponding to related dependency
PMP与NPDP之间的区别是什么?
信标委云原生专题组组长,任重道远!
100年仅6款产品获批,疫苗竞争背后的“佐剂”江湖
ICML2022 | 基于元语义正则化的介入性对比学习
Little p weekly Vol.11
Basic operation of binary tree
十三届蓝桥杯B组国赛
NIO与传统IO的区别
JS how to get a list of elements in a collection object