标签:分析
-
第23篇:死磕 java集合之ArrayDeque源码分析
问题 (1)什么是双端队列? (2)ArrayDeque是怎么实现双端队列的? (3)ArrayDeque是线程安全的吗? (4)ArrayDeque是有界的吗? 简介 双端队列是…
-
第22篇:死磕 java集合之LinkedList源码分析
问题 (1)LinkedList只是一个List吗? (2)LinkedList还有其它什么特性吗? (3)LinkedList为啥经常拿出来跟ArrayList比较? (4)我为…
-
第19篇:死磕 java并发包之AtomicInteger源码分析
问题 (1)什么是原子操作? (2)原子操作和数据库的ACID有啥关系? (3)AtomicInteger是怎么实现原子操作的? (4)AtomicInteger是有什么缺点? 简…
-
第17篇:死磕 java并发包之AtomicStampedReference源码分析(ABA问题详解)
问题 (1)什么是ABA? (2)ABA的危害? (3)ABA的解决方法? (4)AtomicStampedReference是什么? (5)AtomicStampedRefere…
-
第15篇:死磕 java集合之ArrayList源码分析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 简介 ArrayList是一种以数组实现的List,与数组相比,它具有动态扩展的能力,因此也可…
-
第14篇:死磕 java集合之CopyOnWriteArrayList源码分析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 简介 CopyOnWriteArrayList是ArrayList的线程安全版本,内部也是通过…
-
第13篇:死磕 java集合之HashMap源码分析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 简介 HashMap采用key/value存储结构,每个key对应唯一的value,查询和修改…
-
第12篇:死磕 java集合之LinkedHashMap源码分析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 简介 LinkedHashMap内部维护了一个双向链表,能保证元素按插入的顺序访问,也能以访问…
-
第11篇:死磕 java集合之WeakHashMap源码分析
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 简介 WeakHashMap是一种弱引用map,内部的key会存储为弱引用,当jvm gc的时…
-
第10篇:死磕 java集合之TreeMap源码分析(一)- 内含红黑树分析全过程
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 简介 TreeMap使用红黑树存储元素,可以保证元素按key值的大小进行遍历。 继承体系 Tr…
-
第9篇:死磕 java集合之TreeMap源码分析(二)- 内含红黑树分析全过程
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 插入元素 插入元素,如果元素在树中存在,则替换value;如果元素不存在,则插入到对应的位置,…
-
第8篇:死磕 java集合之TreeMap源码分析(三)- 内含红黑树分析全过程
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 删除元素 删除元素本身比较简单,就是采用二叉树的删除规则。 (1)如果删除的位置有两个叶子节点…
-
第7篇:死磕 java集合之TreeMap源码分析(四)-内含彩蛋
欢迎关注我的公众号“彤哥读源码”,查看更多源码系列文章, 与彤哥一起畅游源码的海洋。 二叉树的遍历 我们知道二叉查找树的遍历有前序遍历、中序遍历、后序遍历。 (1)前序遍历,先遍历…
-
第5篇:死磕 java集合之ConcurrentHashMap源码分析(一)
开篇问题 (1)ConcurrentHashMap与HashMap的数据结构是否一样? (2)HashMap在多线程环境下何时会出现并发安全问题? (3)ConcurrentHas…
-
第4篇:死磕 java集合之ConcurrentHashMap源码分析(二)——扩容
本章接着上一章,链接直达请点我。 初始化桶数组 第一次放元素时,初始化桶数组。 private final Node<K,V>[] initTable() { Node<…
-
第3篇:死磕 java集合之ConcurrentHashMap源码分析(三)
本章接着上两章,链接直达: 死磕 java集合之ConcurrentHashMap源码分析(一) 死磕 java集合之ConcurrentHashMap源码分析(二) 删除元素 删…
-
第2篇:死磕 java集合之ConcurrentSkipListMap源码分析——发现个bug
前情提要 点击链接查看“跳表”详细介绍。 拜托,面试别再问我跳表了! 简介 跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表。 跳表在原有的有序链表上面增加了多级…
-
第1篇:死磕 java集合之HashSet源码分析
问题 (1)集合(Collection)和集合(Set)有什么区别? (2)HashSet怎么保证添加元素不重复? (3)HashSet是否允许null元素? (4)HashSet…
-
0. sharding-jdbc源码分析准备工作
阿飞Javaer,转载请注明原创出处,谢谢! sharding-jdbc源码分析准备工作 接下来对sharding-jdbc源码的分析基于tag为1.5.4.1源码,根据shard…
-
7. sharding-jdbc源码之group by结果合并(2)
阿飞Javaer,转载请注明原创出处,谢谢! 在sharding-jdbc源码之group by结果合并(1)中主要分析了sharding-jdbc如何在GroupByStream…