集合框架
文章平均质量分 79
rhwayfunn
这个作者很懒,什么都没留下…
展开
-
深入Java集合系列之六:CopyOnWriteArrayList
CopyOnWriteArrayList简介CopyOnWriteArrayList容器是Collections.synchronizedList(List list)的替代方案,CopyOnWriteArrayList在某些情况下具有更好的性能,考虑读远大于写的场景,如果把所有的读操作进行加锁,因为只有一个读线程能够获得锁,所以其他的读线程都必须等待,大大影响性能。CopyOnWriteArray原创 2016-04-08 16:18:15 · 5128 阅读 · 0 评论 -
深入Java集合系列之一:ArrayList
前言ArrayList也叫数组列表,底层使用的数组实现的,严格来说是动态数组。为了简化,我将从以下几个方面对ArrayList进行分析 常用操作的源码分析 使用场景与小结 ArrayList工作原理ArrayList工作原理其实很简单,底层是动态数组,每次创建一个ArrayList实例时会分配一个初始容量(如果指定了初始容量的话),以add方法为例,如果没有指定初始容量,当执行add方法,原创 2016-03-28 13:52:53 · 1000 阅读 · 0 评论 -
深入Java集合系列之二:LinkedList
前言LinkedList底层使用的双端链表,即每个节点既包含指向其后继的引用也包括指向其前驱的引用,LinkedList实现了List接口,继承了AbstractSequentialList类,在频繁进行插入以及删除的情况下效率较高。LinkedList使用较多的是add、get和remove,源码的分析也将对这三个方法进行分析。add方法先看add方法:public boolean add(E e原创 2016-03-28 13:58:21 · 820 阅读 · 0 评论 -
深入Java集合系列之三:HashMap
前言无意中发现有很多对Map尤其是HashMap的线程安全性的话题讨论,在我的理解中,对HashMap的理解中也就知道它是线程不安全的,以及HashMap的底层算法采用了链地址法来解决哈希冲突的知识,但是对其线程安全性的认知有限,故写这篇博客的目的就是让和我对这块内容不熟悉的小伙伴有一个对HashMap更深的认知,为了让你更好的查看你感兴趣的内容,你也可以直接点击右边的文章目录进行阅读。 写这篇原创 2016-03-28 14:02:51 · 906 阅读 · 0 评论 -
深入Java集合系列之四:ConcurrentHashMap
术语定义 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表 hash table 根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。转载 2016-03-28 14:18:38 · 1005 阅读 · 2 评论 -
深入Java集合系列之五:PriorityQueue
前言今天继续来分析一下PriorityQueue的源码实现,实际上在Java集合框架中,还有ArrayDeque(一种双端队列),这里就来分析一下PriorityQueue的源码。PriorityQueue也叫优先队列,所谓优先队列指的就是每次从优先队列中取出来的元素要么是最大值(最大堆),要么是最小值(最小堆)。我们知道,队列是一种先进先出的数据结构,每次从队头出队(移走一个元素),从队尾插入一个原创 2016-03-28 14:23:58 · 10065 阅读 · 0 评论