首页 > 技术文章 > JAVA内存结构和内存模型傻傻分不清?

DEBG 2020-12-08 21:02 原文

1.Java内存模型

Java内存模型,英文Java Memory Mode,通常简称JMM,Java内存模型只是一种抽象的概念,并不真实存在,提供保证共享内存的正确性(可见性、有序性、原子性),内存模型定义了共享内存系统中多线程程序读写操作行为的规范。如果有了解过volatile这个关键字,就应该听说过。

数据一般存储在硬盘上,cpu不能直接读取,需要加载到内存才能读取,但是内存的速度比cpu慢很多,这样读写严重拖累cpu计算,然后出现了cpu缓存了,常见三级缓存,越高级速度越快。

但是在并发的时候怎样保证数据一致性呢?java面试中通常会说加锁、synchronized修饰执行方法,变量用volatile修饰等。

volatile解决两个问题1.禁止指令重排。2.线程间可见。

更详细介绍的请自行搜索。

2.JVM内存结构

面试经常问到了,这个就不说了,画一张图就算了

 

共勉!

 

推荐阅读