• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






云儿且行且珍惜

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

随笔分类 -  Java-集合

 
JDK1.8HashMap源码分析及使用的算法
摘要:JDK1.8HashMap源码分析 HashMap简介 HashMap基于哈希表的Map接口实现,是以key-value存储形式存在。(除了不同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。) HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key 阅读全文
posted @ 2021-02-09 17:14 云儿且行且珍惜 阅读(106) 评论(0) 推荐(0)
HashMap与ConcurrentHashMap面试要点
摘要:HashMap HashMap底层数据结构 JDK7:数组+链表 JDK8: 数组+链表+红黑树(看过源码的同学应该知道JDK8中既使用了单向链表,也使用了双向链表,双向链表主要是为了链表操作方便,应该在插入,扩容,链表转红黑树,红黑树转链表的过程中都要操作链表) JDK8中的HashMap为什么要 阅读全文
posted @ 2021-02-05 17:11 云儿且行且珍惜 阅读(69) 评论(0) 推荐(0)
ConcurrentHashMap相关面试题
摘要:ConcurrentHashMap相关面试题 ConcurrentHashMap和HashMap的区别是什么? ConcurrentHashMap是HashMap的升级版,HashMap是线程不安全的,而ConcurrentHashMap是线程安全。而其他功能和实现原理和HashMap类似。 JDK 阅读全文
posted @ 2021-02-05 17:08 云儿且行且珍惜 阅读(574) 评论(0) 推荐(0)
HahsMap相关面试题
摘要:HashMap相关面试题 JDK8中的HashMap与JDK7的HashMap有什么不一样? JDK8中新增了红黑树,JDK8是通过数组+链表+红黑树来实现的 JDK7中链表的插入是用的头插法,而JDK8中则改为了尾插法 JDK8中的因为使用了红黑树保证了插入和查询了效率,所以实际上JDK8中的Ha 阅读全文
posted @ 2021-02-05 17:07 云儿且行且珍惜 阅读(112) 评论(0) 推荐(0)
HashMap与ConcurrentHashMap面试要点
摘要:HashMap与ConcurrentHashMap面试要点 HashMap HashMap底层数据结构 JDK7:数组+链表 JDK8: 数组+链表+红黑树(看过源码的同学应该知道JDK8中既使用了单向链表,也使用了双向链表,双向链表主要是为了链表操作方便,应该在插入,扩容,链表转红黑树,红黑树转链 阅读全文
posted @ 2021-02-05 16:39 云儿且行且珍惜 阅读(105) 评论(0) 推荐(0)
JDK1.8中的ConcurrentHashMap源码分析
摘要:JDK1.8中的ConcurrentHashMap源码分析 在JDK1.7中,ConcurrentHashMap采用Segment + HashEntry的方式进行实现,结构如下: 该类包含两个静态内部类 HashEntry 和 Segment ;前者用来封装映射表的键值对,后者用来充当锁的角色; 阅读全文
posted @ 2021-02-05 16:37 云儿且行且珍惜 阅读(74) 评论(0) 推荐(0)
红黑树和HashMap中的树化,左右旋算法分析
摘要:红黑树 红黑树是平衡二叉查找树的一种。为了深入理解红黑树,我们需要从二叉查找树开始讲起。 二叉查找树-BST 二叉查找树(Binary Search Tree,简称BST)是一棵二叉树,它的左子节点的值比父节点的值要小,右节点的值要比父节点的值大。它的高度决定了它的查找效率。 在理想的情况下,二叉查 阅读全文
posted @ 2021-02-05 14:56 云儿且行且珍惜 阅读(352) 评论(0) 推荐(0)