![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程和并发
文章平均质量分 95
小派师兄
这个作者很懒,什么都没留下…
展开
-
不能不了解的JMM & Volatile
JMM & Volatile前面说了在没有JMM下,多线程情况时会有一些问题,那么JMM是怎么解决这些问题的呢?没有看JMM的可以看一下前面的文章,这是链接:Java内存模型volatile的可见性一般情况下,对于共享变量的操作都是加锁实现,Java中提供了Volatile关键字确保其他线程能看到共享变量的改变,使得变量的保持一致性的。Volatile做了两件事情:将当前处理器缓存行的数据写回到系统内存一个处理器的缓存回写到内存会导致其他处理器的缓存无效在高速缓存架构下,处理器原创 2021-11-11 14:59:57 · 896 阅读 · 0 评论 -
聊聊Java内存模型
Java内存模型1.什么是Java内存模型在聊Java内存模型时,首先要搞清楚什么是Java内存模型?所谓内存模型是规范或规则,这个规则定义了线程对各种变量的访问方式。这种变量针对的是堆里面的共享变量,例如实例对象,数组等。CPU在摩尔定律下,速度在每18个月就翻一倍,然而内存和硬盘速度远远不及,为了解决这些问题,就诞生了CPU多级缓存架构。但对于这些变量的操作,在Java中所说的每次操作后都会对主内存的数据拷贝到工作内存,形成变量副本。由于工作内存是线程私有的,那么对于一个线程操作共享变量来说,其他原创 2021-11-10 15:23:16 · 921 阅读 · 0 评论