美文网首页
JMM和volatile

JMM和volatile

作者: ChandlerQian | 来源:发表于2021-02-20 14:32 被阅读0次

1JMM(Java Memory Model)
JMM是指Java内存模型,不是JVM,不是所谓的栈、堆、⽅法区。
每个Java线程都有⾃⼰的⼯作内存。操作数据,⾸先从主内存中读,得到⼀份拷⻉,操作完毕后再写回
到主内存。

JMM可能带来可⻅性、原⼦性和有序性问题。
所谓可⻅性,就是某个线程对主内存内容的更改,应该⽴刻通知到其它线程。
所谓原⼦性,是指⼀个操作是不可分割的,不能执⾏到⼀半,就不执⾏了。
所谓有序性,就是指令是有序的,不会被重排。

2volatile


image.png

volatile 关键字是Java提供的⼀种轻量级同步机制。
它能够保证可⻅性和有序性
但是不能保证原⼦性
禁⽌指令重排

相关文章

  • JMM和volatile

    1JMM(Java Memory Model)JMM是指Java内存模型,不是JVM,不是所谓的栈、堆、⽅法区。每...

  • Java并发编程的艺术

    第三章 volatile 3.4.4 volatile内存语义的实现 为了实现volatile内存语义,JMM会分...

  • volatile

    一、volatile可见性和禁止重排序是怎么实现的? 首先从JMM内存模型层面,volatile通过storest...

  • 11、JMM和Volatile

    面试中:请你谈谈对Volatile的理解: Volatile是Java虚拟机提供的轻量级的同步机制 保证可见性(和...

  • JMM之happens-before

    happens-before是JMM的核心概念,也是理解volatile关键字的基础,如果想彻底掌握JMM和并发编...

  • java学习笔记

    1.volatile 2.JMM(java内存模型) 3.volatile代码可见性 4.volatile代码不保...

  • JUC编程:Volatile-深入理解CAS-各种锁

    1. JMM 请你谈谈你对 Volatile 的理解 保证可见性 不保证原子性 禁止指令重排 什么是JMM JMM...

  • volatile关键字小总结

    本文内容:1.volatile语义2.由volatile语义引出JMM3.volatile不能保证原子性的解读4....

  • 死磕Java——volatile的理解

    一、死磕Java——volatile的理解 1.1.JMM内存模型 理解volatile的相关知识前,先简单的认识...

  • 死磕Java——volatile的理解

    一、死磕Java——volatile的理解 1.1.JMM内存模型 理解volatile的相关知识前,先简单的认识...

网友评论

      本文标题:JMM和volatile

      本文链接:https://www.haomeiwen.com/subject/wdivsktx.html