【以往博文整理】一 java内存模型

1 计算机多核并发缓存架构

先说一个前提:cpu的运算速度在飞速提升,而磁盘的运算速度远远跟不上cpu的发展速度,这种情况下cpu的速度再快都是没有意义的,运算的再快无法写入主存也是没有意义的。这时候就有的缓存的概念,相比磁盘缓存由于使用电信号,其运算速度相比磁盘快的多(固态硬盘比机械盘快也是这个道理),而且为了达到更高的运算速度,如今的cpu是有多级缓存的,常见的是有3级。
CPU多核缓存架构
其原理就是在cpu跟主内存中间加了一个中间件来协调二者的速度问题。

java内存模型

java内存模型基于cpu缓存模型。
在这里插入图片描述
java一个线程运行时,是通过多个原子操作来实现的。首先通过read(读取)操作将数据从主存中读取出来,然后通过load(载入)操作载入线程的工作空间中,接着线程执行use(使用)操作来对数据进行运算,再然后将运算好的数据通过assign(赋值)操作将数据回写工作空间,接着通过store(存储)操作将工作空间的数据写入主内存,最后通过write(写入)操作更新主存中的变量值。
(图片来着网络)
图片来着网络
除此之外 还有lockunlock两个原子操作这两个跟volatile关键字关系密切,放在后文来说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值