YanL

LV1
发表了文章

AQS(上) 同步队列AQS介绍篇

AbstractQueuedSynchronizer抽象同步队列简称AQS,它是实现同步器的基础组件,并发包中锁的底层就是使用AQS实现的。另外,大多数开发者可...

YanL
关注了用户

云加社区

腾讯云 · 产品运营 (已认证)

云+社区官方账号

312 文章1 回答645 关注者
发表了文章

公平锁/非公平锁/可重入锁/自旋锁

在JAVA中我们知道有很多加锁的方式,比如常见的 通过synchronized关键字,还有Lock,还有之前说原子CAS操作时有看到过的死循环方式的自旋锁。

YanL
发表了文章

[Java 并发]读锁/写锁

之前我们都知道在一个变量被读或者写数据的时候每次只有一个线程可以执行,那么今天我们来看一下读写锁,读写两不误ReadWriteLock。

YanL
发表了文章

Integer以及包装类使用值比较时需要注意的问题

这是因为Integer类源码中有一个IntegerCache,这一个私有的内部类。这个类缓存了-128到 127之间数字的包装类。需要记住它把一些数字的包装类提...

YanL
发表了文章

CountDownLatch

定义初始化的时候,需要传入一个正数来初始化计数器**(0也可以,但这样定义没有实际意义)。有两个方法countDown()**用于递减计数器,await()方法...

YanL
发表了文章

Atomic包中原子类的使用,以及内部CAS的实现和原理

上篇文章有说过 多线程环境下 进行变量属性 自增操作时会造成线程不安全的情况,也有说到 volatile 关键字,最后也不能保证线程安全,因为多线程情况下 他不...

YanL
发表了文章

ThreadLocal (下) 继承性

通过以上例子可以看到,同一个ThreadLocal变量在父线程中设置值后,在子线程是取不到的。根据上节的介绍,这应该是正常现象。因为子线程thread里面调用g...

YanL
发表了文章

Volatile关键字

什么叫可见性呢,首先要说一下JAVA虚拟机内存,JAVA虚拟机内存模型规定,所有的变量都放在计算机的主内存当中,主内存是共享内存区域,所有线程都可以访问,而每个...

YanL
发表了文章

线程的通知与等待

Java中的Object类是所有类的父类,鉴于继承机制,Java把所有的类都需的方法放在了Object类里面,其中就包含要说的通知与等待。

YanL
发表了文章

LockSupport 工具类使用以及实现原理

JDK中的rt.jar包里面的是个LockSupport是个工具类,它的主要作用是挂起和唤醒线程,该工具类是创建锁和其他同步类的基础。

YanL
发表了文章

LongAccumulator介绍,使用,实现原理

LongAdder类时LongAccumulator的一个特例,LongAccumulator比LongAdder的功能更强大。例如下面的构造函数,其中accu...

YanL
发表了文章

LongAdder(下)代码实现原理

为了解决高并发下多线程对一个变量CAS争夺失败后进行自旋而造成的降低并发性能的问题,LongAdder在内部维护多个Cell元素**(一个动态的Cell数组)*...

YanL
发表了文章

Atomic包下原子类的使用,以及内部CAS的实现和原理

上篇文章有说过 多线程环境下 进行变量属性 自增操作时会造成线程不安全的情况,也有说到 volatile 关键字,最后也不能保证线程安全,因为多线程情况下 他不...

YanL
发表了文章

Integer (以及基本数据类型的对象包装类) 值比较缓存问题

这是因为Integer类源码中有一个IntegerCache,这一个私有的内部类。这个类缓存了-128到 127之间数字的包装类。需要记住它把一些数字的包装类提...

YanL
发表了文章

ThreadLocal (中) 原理具体实现详解

由该图可知,Thread类中有一个threadLocals和一个inheritableThreadLocals,它们都是ThreadLocalMap类型的变量,...

YanL
发表了文章

ThreadLocal (下) 继承性问题解决,以及具体实现原理

通过以上例子可以看到,同一个ThreadLocal变量在父线程中设置值后,在子线程是取不到的。根据上节的介绍,这应该是正常现象。因为子线程thread里面调用g...

YanL
发表了文章

ThreadLocal (上) 简介以及基本使用

多线程访问同一个共享变量特别容易出现并发问题,特别是在多个线程需要对一个共享变量进行写入时,为了保证线程安全,一般使用者在访问共享变量时进行适当的同步。如图所示

YanL
发表了文章

Java线程之间的通知与等待,详解!!

Java中的Object类是所有类的父类,鉴于继承机制,Java把所有的类都需的方法放在了Object类里面,其中就包含要说的通知与等待。

YanL
发表了文章

Volatile关键字 作用以及解决问题

什么叫可见性呢,首先要说一下JAVA虚拟机内存,JAVA虚拟机内存模型规定,所有的变量都放在计算机的主内存当中,主内存是共享内存区域,所有线程都可以访问,而每个...

YanL

个人简介

个人成就

扫码关注云+社区

领取腾讯云代金券