码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 详解JMM


    一、计算机硬件存储体系

    CPU的运行并不是直接操作内存而是先把内存里边的数据读到缓存,而内存的读和写操作的时候就会造成不一致的问题。JVM规范中试图定义一种Java内存模型(java Memory Model,简称JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的内存访问效果。
    在这里插入图片描述
    在这里插入图片描述

    二、简介

    1.JMM简介

    JMM(Java内存模型Java Memory Model,简称JMM)本身是一种抽象的概念并不真实存在它仅仅描述的是一组约定或规范,通过这组规范定义了程序中(尤其是多线程)各个变量的读写访问方式并决定一个线程对共享变量的写入何时以及如何变成对另一个线程可见,关键技术点都是围绕多线程的原子性、可见性和有序性展开的。
    原则:JMM的关键技术点都是围绕多线程的原子性、可见性和有序性展开的。作用如下:

    1.通过JMM来实现线程和主内存之间的抽象关系。
    2.屏蔽各个硬件平台和操作系统的内存访问差异以实现让Java程序在各种平台下都能达到一致的内存访问效果。

    2.缓存行的概念

    一个多核cpu的每个核都自带一二级缓存,所有核都共享一个三级缓存。当把主内存的数据写入缓存时,也会顺便将附近的数据也写进去。这个写入的范围称为缓存行(大小64字节&#

  • 相关阅读:
    分布式BASE理论
    操作系统中的(进程,线程)
    Selenium入门之java爬虫入门
    什么是SSR/SSG/ISR?如何在AWS上托管它们?
    R语言动量交易策略分析调整后的数据
    RPA平台比较和选择指南
    阿里测试8年经验,靠着这份理解,我才得以生存下来
    Hangfire Pro 2022-08-31 update
    Leetcode Daily Challenge 1845. Seat Reservation Manager
    AVR单片机与C语言的一些入门简要概述
  • 原文地址:https://blog.csdn.net/MoastAll/article/details/125499318
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号