首页 > 系统相关 >面试---JMM内存模型

面试---JMM内存模型

时间:2022-08-22 10:55:49浏览次数:40  
标签:变量 --- 访问 线程 内存 JMM

内存模型

---内存、线程有关

 

JMM内存模型是JVM在计算机内存中如何工作的行为规范;它屏蔽了各种硬件和操作系统的访问差异保证了java程序在各种平台对内存的访问都能够得到一致性的效果的

通过这套规范,用于保证多线程共享数据操作的原子性、可见性、有序性

 

 

具体规范:

所有的变量都存储在主内存(物理实现—内存)中,每个线程都可以访问;

 

每条线程都有自己私有的工作内存

线程的工作内存中保存了该线程中用到的主内存变量的副本拷贝

 

线程对变量的所有操作都必须在工作内存中进行,而不能直接操作主内存;

不同线程之间也无法直接访问对方工作内存中的变量;

 

 

 

标签:变量,---,访问,线程,内存,JMM
From: https://www.cnblogs.com/shan333/p/16612088.html

相关文章

  • prometheus process-export进程监控
     oToyix 于2021-09-0811:53:45prometheusprocess-export进程监控 一、环境部署,见prometheus邮件告警第一节https://blog.csdn.net/oToyix/article/detai......
  • Python-09_01函数参数的传递
    参数传递:在Python中,类型属于对象,变量是没有类型的:如Str=‘hello’;Str=50,在以上代码中,hello是string类型的,50是整型,而变量Str是没有类型的,它仅仅是一个对象的引用(指针),......
  • 从零开始Blazor Server(12)--编辑菜单
    上个星期有点事,导致没法及时更新。现在我们继续更我们的从零开始系列。这个系列也快要结束了,目前规划再有2-3篇,就结束了。今天我们来说编辑菜单的问题,说实话菜单这种东西,你......
  • Python-09_02函数参数类型、函数嵌套
    1、Python函数参数类型:必备参数、关键字参数、缺省参数、任意个数参数。必备参数须以正确的顺序传入函数,也叫做位置参数,即参数是通过位置进行匹配的,从左到右,依次进行匹配,......
  • 01-springcloud学习记录
    SOA架构与微服务区别微服务拆分更加详细,主要以远程相互调用完成业务功能。SOA也是业务拆分,但一个模块内仍然有多个相近业务相互依赖。RestfulAPI是一种软件设计风......
  • JAVA---04
    第四天1.Java方法什么是方法方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中......
  • 面经-ArrayList扩容规则
    如果调用无参arrayList构造方法,则初始长度为0;如果构造带参的构造方法,则初始容量为指定长度。 1.调用add()方法1.第一次扩容为10(从0到9)。2.后续扩容都是前一次的1.5倍......
  • iOS内存管理之ARC
    前言:​ AutomaticReferenceCounting,自动引用计数,即ARC,WWDC2011和iOS5所引入的最大的变革和最激动人心的变化。ARC是新的LLVM3.0编译器的一项特性,使用ARC,可......
  • Mysql 面试知识点-(理解即可)
    1、关系型和非关系型数据库的区别?关系型数据库的优点-容易理解,因为它采用了关系模型来组织数据。可以保持数据的一致性。数据更新的开销比较小。支持复杂查询(带wher......
  • ln -s 软链接命令
    软链接的作用与使用软链接与硬链接的作用(1)软链接软链接是Linux中常用的命令,它的功能是某一文件在另外一个位置建立一个同步的链接,相当于C语言中的指针,建立的链接直接指......