BlessingCR’s Blog


文章归档

Synchronized 优化

背景 大多数情况下,虽然你加了锁,但是大部分时间,加锁的代码只有一个线程执行,没有竞争 为了优化该情景,有了偏向锁 锁升级/锁膨胀 一个对象刚创建的时候是001 ,4s后(jvm可配置),新创建的刚刚那个类的对象都会是101,开启了偏向锁,不用4…

   59   2023-02-21   去围观

CAS 

compare and set/compare and swap 含义 无锁,自旋锁,乐观锁,轻量级锁 不会阻塞, 不涉及线程切换,不设计操作系统资源切换,上下文内容 public class A {    AtomicInteger a;    public void increase() { //  &nbs…

   61   2023-02-21   去围观

ReentranLock

含义 一种锁,默认非公平,也可以改参数变成公平锁

   61   2023-02-21   去围观

volatile

在 Java 中,volatile 关键字可以保证变量的可见性,如果我们将变量声明为 volatile ,这就指示 JVM,这个变量是共享且不稳定的,每次使用它都到主存中进行读取。 volatile 关键字能保证数据的可见性,但不能保证数据的原子性。synchronized 关键字两…

   65   2023-02-21   去围观