1.1.4 Source analysis
文章平均质量分 83
uniquepine
这个作者很懒,什么都没留下…
展开
-
hashset 源码解析
首先看构造函数: 即 hashset是用hashMap 来实现的,(即底层结构也是链表数组.) // 从下面的put函数可知.hashset 用到的是hashMap 的key (因为hashMap不可能有重复的key,即hashSet不会有重复的元素) private transient HashMap map; // Dummy value to associat原创 2012-03-30 13:39:01 · 816 阅读 · 1 评论 -
linkedList 源码解析
LinkedList的实现其实是一个带哑头节点的双向循环链表。因为linkedlist 提供了get() addfirst() addlast(), removefirst() removelast() 等方法,所以他是stack ,queue 的底层实现. 1.LinkedList的字段 private transient Entry header = new Entry(null,原创 2012-04-10 13:39:39 · 446 阅读 · 0 评论 -
ArrayList 源码解析
ArrayList是我们使用得最多的一个集合类之一一般用来做包装DTO到view层来显示数据.( 支持随机访问)。1.存储ArrayList使用一个Object的数组存储元素。private transient Object elementData[];ArrayList实现了java.io.Serializable接口,这儿的transient标示这个属性不需要自动序列化转载 2012-04-11 15:38:22 · 605 阅读 · 0 评论 -
探索 ConcurrentHashMap 高并发性的实现机制
ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型。同时,ConcurrentHashMap 的源代码会涉及到散列算转载 2012-04-17 17:55:35 · 577 阅读 · 2 评论 -
JVM锁机制-Lock .
与synchronized不同的是,Lock完全用Java写成,在java这个层面是无关JVM实现的。在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(实现类ReentrantReadWriteLock),其实现都依赖java.util.concurrent.AbstractQueuedSynchr转载 2012-04-25 14:16:53 · 527 阅读 · 0 评论 -
Java的ReadWriteLock实现机制解析(1)
如果接触过多线程编程或者大规模并发应用的开发的人都应该知道Readers-writer lock的设计模式,从英文字面上看就是对于资源允许多个Reader(复数)并发读,单个Writer写的锁机制,而Reader和Writer互斥。 现在的JDK里有一个ReadWriteLock的接口和一个ReentrantReadWriteLock的实现类,而其作者是赫赫有名的Doug Le转载 2012-04-25 14:43:44 · 1030 阅读 · 2 评论 -
Java的ReadWriteLock实现机制解析(2)
上一篇说到了WriterPreferenceReadWriteLock,这一篇说一下ReentrantWriterPreferenceReadWriteLock。 顾名思义,该类实现的是可重入的的WriterPreferenceReadWriteLock。允许readers和writers在各自线程里反复获得读或写的锁。这种方法主要用在 该类是WriterPrefe转载 2012-04-25 14:45:06 · 983 阅读 · 1 评论 -
Junit 设计模式分析
JUnit是一个优秀的Java单元测试框架,由两位世界级软件大师Erich Gamma 和 Kent Beck共同开发完成。本文将向读者介绍在开发JUnit的过程中是怎样应用设计模式的。关键词:单元测试 JUnit 设计模式 1 JUnit概述1.1 JUnit概述 JUnit是一个开源的java测试框架,它是Xuint测试体系架构的一种实现。在JU转载 2012-04-23 18:01:14 · 1219 阅读 · 0 评论 -
HashMap源代码分析
1、 HashMap的基本属性及数据结构HashMap的基本数据结构是数组,而数组元素是链表,其元素类型是Entry。HashMap是根据对key的hash运算决定将Entry放在数组的哪个位置上的,而对于hash值相同的元素,就会放在同一个链表中。HashMap中有一个声明为“transient Entry[] table”的属性,Entry是HashMap存储的基本数据类,其基本属性如原创 2012-03-28 21:56:42 · 953 阅读 · 1 评论