转载自meituan techblog什么是重排序请先看这样一段代码1public class PossibleReordering { sta...

什么是CAS?使用锁时,线程获取锁是一种悲观锁策略,即假设每一次执行临界区代码都会产生冲突,所以当前线程获取到锁的时候同时也会阻塞其他线程获取该...

AQS是很多ReentranLock,CountdownLatch,Semaphore等基类,弄清楚AQS对锁和多线程的理解其实很重要。AQS的...

在线程获取同步状态时如果获取失败,则加入CLH同步队列,通过通过自旋的方式不断获取同步状态,但是在自旋的过程中则需要判断当前线程是否需要阻塞,其...

jdk1.6对锁的实现引入了大量的优化,如自旋锁、适应性自旋锁、锁消除、锁粗化、偏向锁、轻量级锁等技术来减少锁操作的开销。锁主要存在四中状态,依...

ListArrayListarrayList 主要的实现方式是通过数组对数据进行处理。有个主要的问题的是扩容这个问题,扩容是通过 System....

threadpoolexecutor 的基础构造方法如下: public ThreadPoolExecutor(int corePoolSiz...

HashMap主要采用的数据结构是数据组+链表+红黑树,在jdk8中的示意图如下:链表的数据量<8用的主要数据结构如下:链表的node的数...

jdk currentHashMap的实现与hashMap比较像,不过有Hji'dian几点的不同1 concurrentHashMap是线程安...