![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合
F道人
若目标是远方,便只顾风雨兼程!
展开
-
java基础之容器(三)HashTable与ConcurrentHashMap面试题详解
HashTable特点:底层数据结构:数组+链表(内部类Entry构成的数组)线程安全:synchronized关键字修饰(锁的颗粒度较大;JVM锁);效率低初始化:初始化大小为11,负载因子为0.75存储以及扩容: Key和Value存储Null时,会抛出NullPointerException扩容:当实际大小大于扩容阈值=初始化大小*负载因子时;会扩大2倍加1结合源...原创 2020-04-15 19:56:45 · 252 阅读 · 0 评论 -
java基础之容器(二)HashMap底层原理与面试回答
特点:增,删,查的时间复杂度都是O(1)。存储KEY可以为Null且唯一,Value可为NULL;扩容(初始大小为16(2的次幂),负载因子为0.75,扩容至原大小的2倍);概念:扰动函数(hash函数):使用hash函数,是避免使用较差的hashCode();从而减少hash碰撞的发生。JDK1.7数据结构: 数组加链表(单向);线程不安全、多线程下会发生死循环;...原创 2020-04-14 19:35:06 · 311 阅读 · 0 评论 -
java基础之容器(一)ArrayList底层原理与面试回答
特点:底层数据结构是数组;有序;线程不安全;数组--->查找和新增和求表长是O(1),插入删除元素是O(n);初始化大小为10,扩容机制为扩大到原数组长度的1.5倍。线程不安全代码体现:// List<String> testArray = new ArrayList<>(); 抛ConcurrentModificationException(...原创 2020-04-14 19:28:38 · 196 阅读 · 0 评论