synchronized关键字 🔥

1.首先挂一个图图片摘自美团技术团队,个人觉得写的特别好:2.synchronized的锁作用范围Java锁作用范围有两种:一种是类的实例对象的锁(对象锁)。一种是类的class对象(类锁)。比如:在一个静态方法前面加synchronized关键字,就是对这个类的class对象加锁。publiccl

#并发编程  

JMM(Java Memory Model)Java内存模型 🔥

1.并发编程模型在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通信过程对程序员完全透明(不可见)。2.Java内存模型的抽象结构从抽象的角度来看,JMM定义了线程和主内存之间的抽象关系:线程之间的共享变量存储

#并发编程  

volatile学习笔记 🔥

1.volatile关键字的作用可见性:对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入。有序性(阻止指令重排):volatile标志的变量的写不能与之前的代码重排序;volatile标志的变量的读不能与之后的代码进行重排序(一般记为写前读后后文详细说明)原

#并发编程  

并发编程中的可见性与原子性 🔥

1.可见性1.1什么叫做可见性可见性是指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。1.2.为什么会有可见性问题可见性问题的根本原因是因为现代CPU在设计上解决CPU运算速度与内存读写速度不匹配问题而导致的。这种访问速度的显著差异,导致CPU可能会花费很长