jvm
文章平均质量分 81
SunWenzh
这个作者很懒,什么都没留下…
展开
-
Volatile
Volatilevolatile 作用禁止指令重排可见性JVM层面实现jvm实现volatile是使用指令屏障实现的汇编层面实现[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-opiQdYpm-1602603909947)(图片/Volatile/image-20201009233018270.png)]汇编使用lock指令实现+MESI缓存一致性协议实现的Lock指令相当于一条内存屏障,指令重排时,不能把后面的指令重排到内存屏障之前的位置.以前的CP原创 2020-10-13 23:46:23 · 141 阅读 · 0 评论 -
java虚拟机锁的升级和比较
锁的升级和比较无状态锁(01)–>偏心锁(10)–>轻量级锁(00)(自旋锁)–>重量级锁偏心锁:即偏向于第一个获得该对象锁的线程,如果在这个线程获得偏向锁后,之后只要该锁没有被别的线获取,则持有该偏向锁的线程将永远不需要被同步 偏向锁的MarkWord中包含:线程ID、epoch、对象分代年龄、是否偏心锁(1)、锁标志位(01)偏向锁的获得: 当锁对象第一次被获取时,如线程1访问同步快,原创 2017-07-21 22:34:03 · 1035 阅读 · 0 评论