随笔分类 - Java集合
摘要:CopyOnWriteArrayList介绍 我们都知道ArrayList和LinkedList都不是线程安全的,而Vector是线程安全的,但是底层全是使用synchronized来控制同步方法,所以性能低下,不建议使用,也很少使用。那么在高并发情况下,我们通常使用CopyOnWriteArray
阅读全文
摘要:ConcurrentHashMap扩容机制 ConcurrentHashMap,jdk1.8,采用多线程扩容。整个扩容过程,通过CAS设置sizeCtl、transferIndex等变量协调多个线程进行并发扩容。多线程无锁扩容的关键就是通过CAS设置sizeCtl与transferIndex变量,协
阅读全文
摘要:Java集合Collection java中的容器有哪些? Collection和Collections的区别: Collection是集合类的一个顶级接口,里面提供了一些集合操作统一的基本方法。 Collections是集合的工具类,提供了集合的一系列的静态方法,例如排序、集合之间的转化,线程安全
阅读全文
摘要:HashMap底层原理 HashMap的数据结构: HashMap底层数据结构是由数组,链表和红黑树组成的,红黑树是jdk1.8之后加入的,当链表长度超过8时,并且数组长度大于64,链表就会转化成红黑树。 HashMap的工作原理: HashMap中的每一个元素,也就是键值对 node对象(key,
阅读全文