2017年2月13日

摘要: 概要 前一章,我们学习了HashMap。这一章,我们对Hashtable进行学习。我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable。第1部分 Hashtable介绍第2部分 Hashtable数据结构第3部分 Hashtable源码解析(基于JD 阅读全文

posted @ 2017-02-13 14:48 文轶 阅读(804) 评论(0) 推荐(0) 编辑

摘要: ConcurrentHashMap的目的 多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。虽然已经有一个线程安全的HashTable,但是HashTable容器使用synchronized(他的get和put方法的实现 阅读全文

posted @ 2017-02-13 14:43 文轶 阅读(192) 评论(0) 推荐(0) 编辑

摘要: 集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的 阅读全文

posted @ 2017-02-13 14:38 文轶 阅读(189) 评论(0) 推荐(0) 编辑

摘要: Java集合 HashSet的源码分析 一、 HashSet概述: HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。 二、 HashSet的实现: 对于HashSet而言,它是基于Has 阅读全文

posted @ 2017-02-13 14:36 文轶 阅读(209) 评论(0) 推荐(0) 编辑

摘要: 一、HashMap概述二、HashMap的数据结构三、HashMap源码分析 1、关键属性 2、构造方法 3、存储数据 4、调整大小 5、数据读取 6、HashMap的性能参数 7、Fail-Fast机制 一、HashMap概述 HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映 阅读全文

posted @ 2017-02-13 14:32 文轶 阅读(257) 评论(0) 推荐(0) 编辑

摘要: Java集合 LinkedList源码解析 一、源码解析1、 LinkedList类定义2、LinkedList数据结构原理3、私有属性4、构造方法5、元素添加add()及原理6、删除数据remove()7、数据获取get()8、数据复制clone()与toArray()9、遍历数据:Iterato 阅读全文

posted @ 2017-02-13 14:23 文轶 阅读(210) 评论(0) 推荐(0) 编辑

摘要: Java集合 ArrayList的实现原理 目录: 一、 ArrayList概述 二、 ArrayList的实现 1) 私有属性 2) 构造方法 3) 元素存储 4) 元素读取 5) 元素删除 6) 调整数组容量 7)转为静态数组toArray 总结 一、 ArrayList概述: ArrayLis 阅读全文

posted @ 2017-02-13 14:14 文轶 阅读(2091) 评论(0) 推荐(1) 编辑

摘要: volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v 阅读全文

posted @ 2017-02-13 13:34 文轶 阅读(233) 评论(0) 推荐(0) 编辑

摘要: 第一部分: For-each Loop Purpose The basic for loop was extended in Java 5 to make iteration over arrays and other collections more convenient. This newer  阅读全文

posted @ 2017-02-13 13:22 文轶 阅读(8120) 评论(0) 推荐(3) 编辑

摘要: 1.什么是内部接口 内部接口也称为嵌套接口,即在一个接口内部定义另一个接口。举个例子,Entry接口定义在Map接口里面,如下代码: public interface Map { interface Entry{ int getKey(); } void clear(); } 2.为什么要使用内部接 阅读全文

posted @ 2017-02-13 11:36 文轶 阅读(598) 评论(0) 推荐(0) 编辑