Java内存模型
![Java内存模型](https://i-blog.csdnimg.cn/blog_migrate/3588df070057e36b2118847ca4c487e2.jpeg)
通俗来说就是各个线程要对同一个属性进行读写时都要先从主内存中拷贝副本到自己的工作内存中,在修改之后要写回主内存中,并且修改后的值对于其他的线程是立马可见的,这时线程t2和t3都知道自己读取到的值是过期的,如下图所示:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/da7d83685b3c5ebe09a7e71c297d8aad.jpeg)
如上图中,线程t1、t2和t3去访问主内存,都把属性age读取到自己的工作内存中,初始值是25,如果用volatile关键字修饰了age字段,则t1修改age为37之后返回给主内存中,这时线程t2和t3都可以看到修改后的值。
说明:以上内容参考自尚硅谷
说明:以上内容参考自尚硅谷