随笔分类 - 集合基础
摘要:转载请标注来源:https://www.cnblogs.com/xmzJava/p/9380649.html 前言 在分析多线程的文章中,我们知道了Executors是通过阻塞队列接受任务。例如 FixedThreadPool 使用的是 LinkedBlockingQueue, CachedThre
阅读全文
摘要:初始化: 问题:如何当且仅只有一个线程初始化table 1、第3行 判断当前系统的table是否为空,这里用volatile 修饰table,对于各个线程都是可见的 2、第4行 判断sizeCtl 是否小于零,因为在初始化的过程中,会把sizeCtl设置成-1,所以如果小于零,说明当前有其他线程正在
阅读全文
摘要:HashMap在JDK1.7和1.8中有了很大的改变,空闲时间对HashMap做了一点点的研究。 HashMap是一种数组和链表结合的数据结构,我们每次new一个HashMap时,都会构造出一个长度为16的Entry数组,每一个Entry都是一个单向链表, 网上找的一张图,具体的hashMap的结构
阅读全文