jdk源码
文章平均质量分 86
圣小童
向着目标不断前进
展开
-
ConcurrentHashMap的扩容机制(jdk1.8)
ConcurrentHashMap相关的文章网上有很多,而关于ConcurrentHashMap扩容机制是很关键的点,尤其是在并发的情况下实现数组的扩容的问题经常会碰到,看到这篇写的具有代表性,详细讲解了ConcurrentHashMap是如何在并发情况扩容的。转自简书:占小狼http://www.jianshu.com/u/90ab66c248e6什么情况会触发扩容当往has转载 2017-04-16 23:09:52 · 14250 阅读 · 7 评论 -
【JDK集合框架源码分析】-集合框架概述
导语:我们平时编程使用过很多的JDK工具类,但是学习不能知其然不知所以然,不看源码和了解底层实现机制的话经常会踩坑,对于越是底层的东西的了解程度可以反映一个程序员的编程水平,最近开始阅读JDK源码学习JDK设计的精髓,对于编程水平提升是非常具有价值的集合框架简介java的集合框架定义了对集合操作的方法,框架集合代表了对于集合的增删改查定义了一套完整的规范,使得使用具体操作与实现进行解耦。主要理念用原创 2017-10-19 15:45:54 · 473 阅读 · 0 评论 -
【Java集合框架源码分析(JDK1.7)】-ArrayList源码分析
ArrayList概述ArrayList是List接口的可变数组的实现,与Java中的数组相比,它的容量能动态增长,动态增长内存。ArrayList实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,还提供了一些方法来操作内部用来存储列表的数组的大小。ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.sy原创 2017-10-19 21:04:51 · 260 阅读 · 0 评论 -
【Java集合框架源码分析(JDK1.7)】-LinkedList源码分析
LinkedList简介LinkedList是一个双向链表。它继承了AbstractSequentialList,可以被当作堆栈、队列或双端队列操作实现了Lis能对它进行队列操作实现了Deque接口能将LinkedList当作双端队列使用。LinkedList 实现了Cloneable接口可以被克隆。LinkedList实现java.io.Serializable接口,因此它也支持序列化,原创 2017-10-19 23:09:09 · 282 阅读 · 0 评论 -
【Java集合框架源码分析(JDK1.7)】-HashMap源码分析
Map简介Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value。key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较结果总是返回false。 关于Map,从代码复用的角度去理解,java是先实现了Map,然后通过包装了一个所有value都为原创 2017-11-02 22:38:12 · 252 阅读 · 0 评论 -
【Java集合框架源码】LinkedHashMap剖析
简介LinkedHashMap是HashMap的一个子类,保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的,也可以在构造时带参数,按照访问次序排序。HashMap与LinkedHashMapLinkedHashMap 实现与 HashMap 的不同之处在于,LinkedHashMap 维护着一个运行于所有条目的双原创 2017-12-19 15:26:33 · 296 阅读 · 0 评论