Java多线程和并发,JMM(Java内存模型)

Posted 寻找梦想的大熊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java多线程和并发,JMM(Java内存模型)相关的知识,希望对你有一定的参考价值。

目录

1.什么是JMM

2.JMM的主内存和工作内存

3.JMM如何解决可见性问题-指令重排序

4.Volatile

十、JMMJava内存模型)(暂时没有理解)

1.什么是JMM

 

2.JMM的主内存和工作内存

1)主内存

 

(2)工作内存

 

(3)主内存和工作内存数据存储类型以及操作方式归纳

 

4JMMJava内存区域划分是不同的概念层次

 

3.JMM如何解决可见性问题-指令重排序

1)指令重排序的条件

 

(2)如果A操作的结果需要对B可见,必须要满足happens-before原则

(3)happens-before原则

 

(4)happens-before的概念

 

4.Volatile

(1)volatileJVM提供的轻量级同步机制

  保证被volatile修饰的共享变量对所有线程总是可见的

(2)单例的双重检测实现

 

3volatilesynchronized的区别

Volatile是轻量级锁

 

 

以上是关于Java多线程和并发,JMM(Java内存模型)的主要内容,如果未能解决你的问题,请参考以下文章

多线程&高并发深入浅出JMM-Java线程内存模型

java多线程的基础-java内存模型(JMM)

并发基础之Java内存模型JMM

JUC多线程:JMM内存模型与volatile内存语义

Java并发指南2:深入理解Java内存模型JMM

深入理解JMM(Java内存模型) --