摘要: 1 前言 之前我们说过对象头的信息,这节我们就来看看synchronized是怎么通过monitor进行重量级加锁。 2 内容回顾 我们先来回顾下Mark Word的内容: 当Mark Word的最后两位的锁标志位是10的时候,Mark Word这哥们说自己处于重量级锁的模式,重量级加锁不是它的责任 阅读全文
posted @ 2023-04-02 21:57 酷酷- 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 1 前言 这节我们就来看看volatile怎么通过内存屏障保证可见性和有序性。 2 保证可见性 volatile修饰的变量,在每个读操作(load操作)之前都加上Load屏障,强制从主内存读取最新的数据。每次在assign赋值后面,加上Store屏障,强制将数据刷新到主内存。 以volatile i 阅读全文
posted @ 2023-04-02 15:43 酷酷- 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 1 前言 volatile是java语言提供的一个关键字,用来修饰变量的,使用volatile修饰的变量可以保证并发安全的可见性和有序性。 volatile int i = 0; public void add() { i++; } 使用方法就是声明变量之前加一个volatile关键字,然后变量 i 阅读全文
posted @ 2023-04-02 14:42 酷酷- 阅读(401) 评论(0) 推荐(0) 编辑