ThreadLocal不是JUC并发包下工具,它在java.lang包下面。多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线...
HashSet的结构 HastSet的底层存储结构是一个名字叫做map的HashMap,因为HashSet是单值的,非键值对,把Hash...
数据结构 构造函数 HashMap的底层数组,不是在构造函数里面构建的,而是在第一次put的时候,调用的resize方法里面 put方法 res...
链表节点 添加方法 在链表结尾插入新节点 将新节点作为链表的第一个节点 添加方法就写这么多了,有兴趣的自己看其他的,都是一个原理,链表节点的操作...
ArrayList只写add方法了,其他的方法感兴趣的自己看一下,都比较简单。 构造函数 添加元素 需要的常量 minCapacity代表添加元...
CyclicBarrier翻译过来是“可循环利用的屏障“,CyclicBarrier 作用是让一组线程相互等待,当达到一个共同点时,所有...
Semaphore也叫信号量,在JDK1.5被引入,可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源。 ...
CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。 它是通过一个计数器来实现...
首先来回顾一下AQS Node的主要结构,对于节点状态PROPAGATE的无条件传播,可能不理解。看完doAcquireShared的源...