Java基础之内存模型

2020-07-29  本文已影响0人  felixfeijs

Java基础之内存模型

目录

Java内存模型简单介绍

JVM介绍

  1. stack(栈)
    • 特点: 存取速度快、对象声明周期确定、数据大小确定.
    • 存储数据: 基本类型变量、对象引用
    • 位置: 缓存、寄存器、写缓冲区
  2. heap(堆)
    • 特点: 存取速度慢、运行时动态分配大小、对象生命周期不确定、垃圾回收.
    • 存储数据: 对象
    • 位置: 主内存、缓存.

存储方式

并发原因

Java内存模型与系统内存模型

Java内存模型抽象结构图

java内存模型抽象结构图.jpg

Java并发问题的根源

Java内存模型-内存间的八种同步操作

java内存模型-同步操作与规则.jpg

读取执行步骤

读取执行步骤.jpg

写入执行步骤

写入执行步骤.jpg

操作规则

回顾

  1. Java内存模型是一个规范,它规定了不同线程如何以及何时可以看到其他线程写入共享变量的值以及如何在必要时同步对共享变量的访问.
  2. Java内存模型要求,调用栈和本地变量存储在线程栈上,对象存放在堆上.线程之间的通信必须要经过主内存.
  3. 定义了同步的八个操作,以及使用这八个操作需要遵守的规则.
上一篇下一篇

猜你喜欢

热点阅读