![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA基础
文章平均质量分 93
龙哥_子戈
从事java、android相关方面的开发
展开
-
Volatile的作用以及底层实现原理
Volatile的作用以及底层实现原理先来看一段demo的代码:你会发现,永远都不会输出有点东西这一段代码,按道理线程改了flag变量,主线程也能访问到的呀?为会出现这个情况呢?那我们就需要聊一下另外一个东西了。JMM(JavaMemoryModel)JMM:Java内存模型,是java虚拟机规范中所定义的一种内存模型,Java内存模型是标准化的,屏蔽掉了底层不同计算机的区别(注意这个跟JVM完全不是一个东西,只有还有小伙伴搞错的)。那正式聊之前,丙丙先大概科普一下现代计算机的内转载 2021-03-15 15:11:28 · 204 阅读 · 0 评论 -
synchronized底层实现原理及锁优化
一、简述synchronized的作用①原子性:synchronized 保证语句块内操作是原子的。②可见性:synchronized 保证可见性(通过“在执行unlock之前,必须先把此变量同步回主内存”实现)。③有序性:synchronized 保证有序性(通过“一个变量在同一时刻只允许一条线程对其进行lock操作”)。synchronized的使用①修饰实例方法,对当前实例对象加锁。②修饰静态方法,对当前类的Class对象加锁。③修饰代码块,对 synchronized 括号内的对..原创 2021-03-15 13:58:07 · 242 阅读 · 0 评论