Collection和Map的解析
文章平均质量分 87
针对java中的Collection和Map做一些总结和解析
翻身已碰头
人法地、地法天、天法道、道法自然
展开
-
Queue常用类解析之BlockingQueue(五):LinkedTransferQueue
Queue常用类解析之PriorityQueueQueue常用类解析之ConcurrentLinkedQueueQueue常用类解析之BlockingQueue(一):PriorityBlockingQueue、DelayQueue和DelayedWorkQueueQueue常用类解析之BlockingQueue(二):ArrayBlockingQueueQueue常用类解析之Blocki...原创 2019-05-17 15:19:56 · 1264 阅读 · 0 评论 -
Queue常用类解析之BlockingQueue(四):SynchronousQueue
Queue常用类解析之PriorityQueueQueue常用类解析之ConcurrentLinkedQueueQueue常用类解析之BlockingQueue(一):PriorityBlockingQueue、DelayQueue和DelayedWorkQueueQueue常用类解析之BlockingQueue(二):ArrayBlockingQueueQueue常用类解析之Blocki...原创 2019-05-13 11:47:54 · 634 阅读 · 0 评论 -
Queue常用类解析之BlockingQueue(三):LinkedBlockingQueue
Queue常用类解析之PriorityQueueQueue常用类解析之ConcurrentLinkedQueueQueue常用类解析之BlockingQueue(一):PriorityBlockingQueue、DelayQueue和DelayedWorkQueueQueue常用类解析之BlockingQueue(二):ArrayBlockingQueue接着上文对BlockingQueu...原创 2019-04-23 14:19:59 · 400 阅读 · 0 评论 -
Queue常用类解析之BlockingQueue(二):ArrayBlockingQueue
Queue常用类解析之PriorityQueueQueue常用类解析之ConcurrentLinkedQueue接着上文对BlockingQueue的介绍继续向下五、ArrayBlockingQueue从命名可以看出,这是一个循环数组表示的的阻塞队列。与前面介绍的BlockingQueue不同,ArrayBlockingQueue在入队和出队时都有可能会陷入阻塞。1. 属性/** T...原创 2019-04-22 16:54:43 · 1068 阅读 · 0 评论 -
Queue常用类解析之BlockingQueue(一):PriorityBlockingQueue、DelayQueue和DelayedWorkQueue
Queue常用类解析之PriorityQueueQueue常用类解析之ConcurrentLinkedQueue一、简介BlockingQueue是concurrent包下的一个并发Queue的接口,称为阻塞队列。与ConcurrentLinkedQueue通过CAS方式来实现并发不同,BlockingQueue的并发方案是阻塞等待。Jdk为BlockingQueue提供了不少的实现类,...原创 2019-04-22 09:23:14 · 1810 阅读 · 0 评论 -
Queue常用类解析之ConcurrentLinkedQueue
Queue常用类解析之PriorityQueue原创 2019-04-21 16:59:20 · 465 阅读 · 0 评论 -
Queue常用类解析之PriorityQueue
一、接口介绍Queue :Collection的子接口,先进先出的集合。BlockingQueue:Queue的子接口,阻塞式队列,线程安全的队列,主要用于多线程场景尤其是线程池中。TransferQueue:BlockingQueue的子接口,一个生产者-消费者模式的队列,生产者会阻塞等待着消费者对元素进行消费。二、PriorityQueue优先级队列,队列内的元素按照一定的顺序进行排...原创 2019-04-17 10:25:58 · 793 阅读 · 0 评论 -
并发集合之CopyOnWriteArrayList和CopyOnWriteArraySet
一、简介CopyOnWrite的意思是写时复制,简单的说就是在对容器操作时,不是直接进行操作,而是先将容器复制一份,对新的容器操作后,再用新的容器覆盖原来的容器。CopyOnWrite可以实现并发读操作,因为容器的写操作不会读当前容器造成影响。CopyOnWrite的写操作需要加锁,不然n个写操作就会有n个容器副本,并且这n个副本会进行覆盖,最终只有1个副本的操作生效。CopyOnWrit...原创 2019-04-16 10:53:02 · 303 阅读 · 0 评论 -
Map源码解析之WeakHashMap
Map源码解析之HashMapMap源码解析之HashMap红黑树Map源码解析之HashMap补充:集合、迭代器、compute、merge、replaceMap源码解析之LinkedHashMapMap源码解析之TreeMapMap源码解析之HashTable Map源码解析之ConcurrentHashMap(JDK1.8)(一)Map源码解析之ConcurrentHashMa...原创 2019-04-12 15:49:42 · 304 阅读 · 0 评论 -
Map源码解析之ThreadLocalMap
Map源码解析之HashMapMap源码解析之HashMap红黑树Map源码解析之HashMap补充:集合、迭代器、compute、merge、replaceMap源码解析之LinkedHashMapMap源码解析之TreeMapMap源码解析之HashTable Map源码解析之ConcurrentHashMap(JDK1.8)(一)Map源码解析之ConcurrentHashMa...原创 2019-04-10 15:54:26 · 1107 阅读 · 0 评论 -
Map源码解析之ConcurrentHashMap(JDK1.7)
Map源码解析之HashMapMap源码解析之HashMap红黑树Map源码解析之HashMap补充:集合、迭代器、compute、merge、replaceMap源码解析之LinkedHashMapMap源码解析之TreeMapMap源码解析之HashTable Map源码解析之ConcurrentHashMap(JDK1.8)(一)Map源码解析之ConcurrentHashMa...原创 2019-04-09 15:13:13 · 408 阅读 · 0 评论 -
Map源码解析之ConcurrentHashMap(JDK1.8)(二)
Map源码解析之HashMapMap源码解析之HashMap红黑树Map源码解析之HashMap补充:集合、迭代器、compute、merge、replaceMap源码解析之LinkedHashMapMap源码解析之TreeMapMap源码解析之HashTable Map源码解析之ConcurrentHashMap(JDK1.8)(一)本篇文章将在 Map源码解析之Concurren...原创 2019-03-08 10:07:18 · 630 阅读 · 0 评论 -
Map源码解析之ConcurrentHashMap(JDK1.8)(一)
Map源码解析之HashMapMap源码解析之HashMap红黑树Map源码解析之HashMap补充:集合、迭代器、compute、merge、replaceMap源码解析之LinkedHashMapMap源码解析之TreeMapMap源码解析之HashTable一、简述HashMap和LinkedHashMap都不是线程安全的,而线程安全的HashTable和Collections...原创 2019-03-06 15:12:44 · 718 阅读 · 0 评论 -
Map源码解析之HashTable
Map源码解析之HashMapMap源码解析之HashMap红黑树Map源码解析之HashMap补充:集合、迭代器、compute、merge、replaceMap源码解析之LinkedHashMapMap源码解析之TreeMap之前文章分析的HashMap、LinkedHashMap、TreeMap虽然有各自不同的特性,但是它们都是线程不安全的,这一篇文章中,我们将解析线程安全的类Ha...原创 2018-12-06 17:20:40 · 192 阅读 · 0 评论 -
Set源码解析
Set是日常开发中经常使用的一个数据结构,其元素不可重复。无论是HashSet、LinkedHashSet还是TreeSet。它们的数据结构的本质都是对应的Map。其内部有一个Map类型的成员变量map,HashSet的元素对应map的key值,对应的value值统一为一个空对象(PRESENT )一、 主要的成员变量//HashSetprivate transient HashMap&...原创 2018-11-14 11:45:48 · 193 阅读 · 0 评论 -
Map源码解析之TreeMap
Map源码解析之HashMapMap源码解析之HashMap红黑树Map源码解析之HashMap补充:集合、迭代器、compute、merge、replaceMap源码解析之LinkedHashMap前面几篇文章分别解析了HashMap和LinkedHashMap,这一片文章将解析Map的另一种数据结构–TreeMap。TreeMap基于红黑树实现的,因此TreeMap是有序的(Link...原创 2018-11-12 16:34:02 · 398 阅读 · 0 评论 -
Map源码解析之LinkedHashMap
Map源码解析之HashMapMap源码解析之HashMap红黑树HashMap源码解析之补充说明:集合、迭代器、compute、merge、replace在分析完了HashMap源码之后,我们接着看另一种形式的map :LinkedHashMap。LinkedHashMap是HashMap的子类,相比HashMap而言,其数据结构在HashMap的基础上多了双向链表将所有节点连接起来,从...原创 2018-11-09 17:01:22 · 354 阅读 · 0 评论 -
Map源码解析之HashMap补充:集合、迭代器、compute、merge、replace
Map源码解析之HashMapMap源码解析之HashMap红黑树前面两篇文章分析了HashMap的数组+链表/红黑树的数据结构以及新加、增加节点、删除节点、查询节点等相关方法。下面我们分析一下HashMap中的集合和循环等方法。一. HashMap中的集合在HashMap中有3个集合类的成员变量,分别为keySet,values和entrySet,并且可通过HashMap#keySet、...原创 2018-11-09 14:02:13 · 1307 阅读 · 0 评论 -
Map源码解析之HashMap红黑树
Map源码解析之HashMap上一篇文章分析了HashMap的源码,但关于红黑树的部分都是粗略带过,这一篇文章则将着重分析HashMap中和红黑树相关的逻辑代码。红黑树的理论知识可以参考红黑树(一)之 原理和算法详细介绍进行了解。一. 红黑树的特性(1) 每个节点或者是黑色,或者是红色。(2) 根节点是黑色。(3) 每个叶子节点(空节点,NIL节点)是黑色。(4) 如果一个节点是红色...原创 2018-11-08 19:20:24 · 836 阅读 · 0 评论 -
Map源码解析之HashMap
Map使我们在开发过程中经常使用的一个数据结构,其主要有3个特点:键值对key-value、键key唯一且不可重复,每个键key都能且只能映射到一个value值。HashMap又是Map中最常被使用的一个实现类,除了Map的3个基础特点外还具备无序性、key和value都可以为null、非线程安全等特点。HashMap由数组组成,每个数组的元素都是一条链表,在jdk1.8中当链表超出一定长度会...原创 2018-11-06 16:45:05 · 271 阅读 · 0 评论