集合
文章平均质量分 76
小白鼠捉大猫咪
这个作者很懒,什么都没留下…
展开
-
ConcurrentHashMap实现原理及源码分析
一、ConcurrentHashMap跟HashMap,HashTable的对比 1、 HashMap不是线程安全: 在并发环境下,可能会形成环状链表(扩容时可能造成,具体原因自行百度google或查看源码分析),导致get操作时,cpu空转,所以,在并发环境中使用HashMap是非常危险的。 2、HashTable是线程安全的: HashTable和HashMap的底层实现原理几乎一致。主要的区别在于HashTable中的键值对都不允许为null,而HashMap中允许键值对为null。除此之外,Hash原创 2021-05-31 16:21:25 · 102 阅读 · 0 评论 -
LinkedHashMap底层源码分析
1、LinkedHashMap的继承和实现结构 (1)从源码可以看出,LinkedHashMap实际上是HashMap的一个子类,继承自HashMap这个类,因此LinkedHashMap具备HashMap中的一些基本操作; (2)LinkedHashMap实现了Map接口。 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V> 2、LinkedHashMap底层原创 2021-05-31 15:25:35 · 197 阅读 · 0 评论 -
ArrayList源码分析
1、ArrayList继承和实现结构原创 2021-05-31 11:43:23 · 161 阅读 · 0 评论 -
LinkedList源码分析
1、继承和实现结构 LinkedList继承了AbstractSequentialList抽象类,实现了List接口、Deque接口和Serializable接口,这里着重注意:实现了Deque接口,说明LinkedList是一个Deque的实现类,因此LinkedList也可以被看为一个双端队列,具备双端队列的特性。 2、底层变量定义和说明 (1)size:用于记录这个链表中的元素(在linkedlist中,元素实际上是以节点的形式存在的,因此也可以叫做节点的个数)的个数。因为linkedlist是采用原创 2021-05-31 10:31:29 · 58 阅读 · 0 评论 -
HashMap底层原理分析(结合面试问题分析)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-05-31 09:23:46 · 391 阅读 · 0 评论 -
HashSet源码分析
1、HashSet继承和实现结构分析 答:从源码中可以看出,HashSet继承了AbstractSet这个抽象类,并且实现了Set接口、Serializable可序列化接口。 2、HashSet底层的数据结构是什么? 答:从源码中可以看出,HashSet底层采用了HashMap进行数据的存放,具体的HashMap方面的知识,参加另一篇文章。HashMap源码分析 3、HashSet提供了许多的构造器 (1)空参构造器,底层会默认创建一个HashMap进行数据的存放。 (2)构造一个set,传入的参数原创 2021-05-31 09:54:54 · 81 阅读 · 0 评论