专栏首页爱明依java 内存模型的基础(二)

java 内存模型的基础(二)

Java 内存模型抽象示意图如下:

如果线程A与线程B之间要通信的话,必须要经历下面2个步骤。 1 线程A把本地内存A中更新过的共享变量刷新到主内存中去。 2 线程B到主内存中去读取线程A之前已经更新过的共享变量。 下面通过示意图来说明这步骤

JMM作用:控制主内存与每个线程的本地内存之间的交互,来为Java程序员提供内存可见性保证。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java 运行时的内存划分

    当多线程运行时,每个线程切换后需要知道上一次所运行的状态、位置。由此也可以看出程序计数器是每个线程私有的。

    爱明依
  • `OutOfMemoryError` 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界、空指针等)来说这类问题是很难定位和解决的...

    OutOfMemoryError 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界、空指针等)来说这类问题是很难定位和解决的。

    爱明依
  • Java虚拟机内存溢出原因分析以及解决方案

    在Java虚拟机规范的描述之中,除了程序计数器外,虚拟机内存的其他几个运行时区域都有可能发生内存溢出OutOfMemoryError(OOM)异常的可能。

    爱明依
  • 什么是Java内存模型

    有一个关于JVM名词定义的问题,说”JVM内存模型“,有人会说是关于JVM内存分布(堆栈,方法区等)这些介绍,也有地方说(深入理解JVM虚拟机)上说Java内存...

    java架构师
  • JVM的基础知识点Java的内存模型

    Java虚拟机是Java工程师必学的进阶功课,这段时间开始死磕JVM。今天梳理一下JVM的基础知识点Java的内存模型!

    java乐园
  • 浅析java内存模型--JMM

    在并发编程中,多个线程之间采取什么机制进行通信(信息交换),什么机制进行数据的同步?

    烂猪皮
  • 并发编程JMM系列之基础!

    Java程序员在进行多线程开发时,并不需要关心线程间是如何通信的,这些对程序员本来来说完全是透明的,但是内存可见性问题很容易让我们困惑,今天我们就讲讲Java内...

    Java后端技术
  • 简述JVM基础(二):Java内存区域与内存溢出异常

    我们在进行Java开发的时候,很少关心Java的内存分配等等,因为这些活都让JVM给我们做了。不仅自动给我们分配内存,还有自动的回收无需再占用的内存空间,以腾出...

    open
  • Java多线程-带你认识Java内存模型,内存分区,从原理剖析Volatile关键字

    地址:https://juejin.im/post/59f8231a5188252946503294

    用户2802329
  • Java常见问题分析(内存溢出、内存泄露、线程阻塞等)

    例:Object.finallize()、 Windows.dispose()、 System.gc()

    Java搬砖工人

扫码关注云+社区

领取腾讯云代金券