java集合框架
IsCassidy
这个作者很懒,什么都没留下…
展开
-
hashmap
hashmap 为什么内置数组长度一定是2的指数次幂?计算hashcode后转为数组index时,用的位与运算(为了提高速度)hashcode & (arr.length-1)0000000000011111111111111111length时2的n次方,才能保证&计算后,一定不越界。...原创 2020-02-27 20:39:17 · 264 阅读 · 0 评论 -
java juc包并发容器
ConcurrentHashMap采用分段锁提升效率,后采用CAS方式实现线程安全 ConcurrentLinkedQueue非阻塞链表队列,采用CAS方式实现线程安全 阻塞队列,通过持有锁对象实现通知/等待的队列 ConcurrentSkipListMap和ConcurrentSkipListSet 跳表skiplist,每次存入要比较,多键链表 CopyOnWriteArrayLi...原创 2019-07-23 11:10:33 · 161 阅读 · 0 评论 -
java集合图
还差一个ConcurrentLinkedQueue,非阻塞队列,对应LinkedList转载 2019-07-23 11:40:40 · 117 阅读 · 0 评论 -
ArrayList扩容
看一下核心的grow方法源码 private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + (oldCapacity >&g...原创 2019-08-05 16:14:56 · 182 阅读 · 0 评论