如何理解Java的内存模型

希望文章能给到你启发和灵感~
如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏 支持一下博主吧~

开篇说明

Java的内存模型简称为JMM,他是Java虚拟机JVM在内存中执行java方法以及变量操作的一种规范。简单的来说,就是它定义了Java程序线程的变量在内存中如何去读,如何去写,如何保证数据的可靠性和一致性。

一、内存相关基础了解

1.1 硬件的内存架构

在我们了解内存模型的时候,我需要知道几个概念,首先是计算机的硬件内存架构是什么样的?

在这里插入图片描述
上面的图中,我们能看到计算机的硬件内存架构主要由CPU,内存寄存器高速缓存主内存组成;高速缓存位于CPU和主存之间,主要是用于存储CPU近期可能访问的数据和指令,以加速数据的访问速度

对于不同的计算机来讲,高速缓存中会细分出很多等级的缓存(如L1,L2,L3),不同等级访问速度是越来越低的,相对的容量会越来越大;
例如,我们都知道,机械硬盘HDD容量往往能去到很大,但是读写效率相对比较低,而固态硬盘SSD处理速度快并且稳定,但是容量却不会太大,高速缓存中的结构就类似于这种,你的读写越快,你的容量就很做到很大,毕竟有牺牲和取舍,而且本身计算中的资源就是寸土寸金,很宝贵的;

高速缓存的由来:CPU的处理速度和主内存存在很大差异,所以添加了一层高速缓存来实现性能的提升和处理速度;

高速缓存的作用:就是用于快速计算处理,然后最后将数据保存到主内存;

速度上的差异:CPU >CPU register(寄存器ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋刀prince

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值