随笔分类 -  java-collection

上一页 1 2 3
并发容器Map之一:ConcurrentHashMap原理(jdk1.8)
摘要:一、ConcurrentHashMap简介 二、ConcurrentHashMap源码分析 2.1、类图结构 2.2、数据结构 1.8中放弃了Segment臃肿的设计,取而代之的是采用Node + CAS + Synchronized来保证并发安全进行实现,结构如下: 只有在执行第一次put方法时才 阅读全文
posted @ 2012-10-08 11:11 duanxz 阅读(1631) 评论(0) 推荐(0)
并发容器Map之一:(jdk1.8) ConcurrentHashMap的红黑树实现分析
摘要:红黑树 红黑树是一种特殊的二叉树,主要用它存储有序的数据,提供高效的数据检索,时间复杂度为O(lgn),每个节点都有一个标识位表示颜色,红色或黑色,有如下5种特性:1、每个节点要么红色,要么是黑色;2、根节点一定是黑色的;3、每个空叶子节点必须是黑色的;4、如果一个节点是红色的,那么它的子节点必须是 阅读全文
posted @ 2012-10-08 10:41 duanxz 阅读(1110) 评论(0) 推荐(0)
并发容器Map之一: ConcurrentHashMap jdk1.7与jdk1.8区别
摘要:主要设计上的变化有以下几点: 不采用segment而采用node,锁住node来实现减小锁粒度。 设计了MOVED状态 当resize的中过程中 线程2还在put数据,线程2会帮助resize。 使用3个CAS操作来确保node的一些操作的原子性,这种方式代替了锁。 sizeCtl的不同值来代表不同 阅读全文
posted @ 2012-09-04 14:02 duanxz 阅读(382) 评论(0) 推荐(0)
并发容器Map之二:ConcurrentNavigableMap
摘要:使用线程安全的NavigableMap Java API 提供的有趣的数据结构,并且你可以在并发应用程序中使用,它就是ConcurrentNavigableMap接口的定义。实现ConcurrentNavigableMap接口的类存储以下两部分元素: 唯一标识元素的key定义元素的剩余数据每部分在不 阅读全文
posted @ 2012-08-28 15:14 duanxz 阅读(2134) 评论(0) 推荐(0)
并发容器Map之二:ConcurrentSkipListMap
摘要:概要 本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍。内容包括:ConcurrentSkipListMap介绍ConcurrentSkipListMap原理和数据结构ConcurrentSkipListMap函数列表Concurrent 阅读全文
posted @ 2012-08-27 09:40 duanxz 阅读(2250) 评论(0) 推荐(0)
java.util.ConcurrentModificationException
摘要:工作中碰到个ConcurrentModificationException。ConcurrentModificationException,它是在使用迭代器遍历集合对象时修改集合对象造成的(并发修改)异常。实际上,Java的集合框架是迭代器设计模式的一个很好的实现。 代码如下: 在执行了remove 阅读全文
posted @ 2012-07-04 13:44 duanxz 阅读(678) 评论(0) 推荐(1)

上一页 1 2 3