
jdk源码学习笔记
文章平均质量分 84
从源码的角度上分析java中的常见类。
rowandjj
阿里巴巴资深移动开发工程师
展开
-
【源码】TreeMap源码剖析
注:以下源码基于jdk1.7.0_11之前介绍了一系列Map集合中的具体实现类,包括HashMap,HashTable,LinkedHashMap。这三个类都是基于哈希表实现的,今天我们介绍另一种Map集合,TreeMap。TreeMap是基于红黑树实现的。介绍TreeMap之前,回顾下红黑树的性质:首先,我们要明确,红黑树是一种二叉排序树,而且是平衡二叉树。因而红黑树原创 2014-08-23 22:08:00 · 2405 阅读 · 1 评论 -
【源码】LruCache源码剖析
上一篇分析了LinkedHashMap源码,这个Map集合除了拥有HashMap的大部分特性之外,还拥有链表的特点,即可以保持遍历顺序与插入顺序一致。另外,当我们将accessOrder设置为true时,可以使遍历顺序和访问顺序一致,其内部双向链表将会按照近期最少访问到近期最多访问的顺序排列Entry对象,这可以用来做缓存。这篇文章分析的LruCache并不是jdk中的类,而是来自安卓原创 2014-08-20 09:22:12 · 3366 阅读 · 5 评论 -
【源码】HashMap源码剖析
注:以下源码基于jdk1.7.0_11之前的几篇文章介绍了List集合中一些比较常见的类,比如ArrayList、LinkedList、Vector等。本篇文章将介绍集合框架的另一块内容——Map集合。本文主要介绍HashMap。先回顾下哈希表。哈希表定义:根据设定的hash函数和处理冲突的方式(开放定址、公共溢出区、链地址、重哈希...)将一组关键字映原创 2014-08-14 08:46:27 · 3985 阅读 · 2 评论 -
java的String和android的String有什么区别?
这是今天阿里电话面试被问到的,在之前确实没有想过(一直以为是一样的),于是面试完之后,我马上打开了源码,对这两个String类进行了比较,下面是我的发现。首先我观察了这两个String类所导入的包,发现两者有些差异:这是android版本:import java.io.Serializable;import java.io.UnsupportedEncodingExcep原创 2014-08-06 23:24:13 · 3596 阅读 · 2 评论 -
【源码】LinkedList源码剖析
注:以下源码基于jdk1.7.0_11上一篇我们分析了ArrayList,今天我们在来看下LinkedList。首先上一幅框架图:LinkedList同样间接继承了AbstractList抽象类,对外来看,LinkedList提供的操作接口跟ArrayList是很类似的,差别在于内部实现上。稍微有点基础的都知道,LinkedList是基于双向原创 2014-08-08 22:41:40 · 1740 阅读 · 0 评论 -
【源码】ArrayList源码剖析
//--------------------------------------------------------------------转载请注明出处:http://blog.youkuaiyun.com/chdjjby Rowandjj2014/8/7//-----------------------------------------------------------原创 2014-08-07 22:54:22 · 1891 阅读 · 0 评论 -
【源码】StringBuilder和StringBuffer源码深度剖析
//------------------------------------------------------------------------写篇博客不容易,请尊重作者劳动成果。转载请注明出处:http://blog.youkuaiyun.com/chdjj//--------------------------------------------------------------------原创 2014-08-06 21:58:52 · 2652 阅读 · 0 评论 -
【源码】Vector、Stack源码解析
注:以下源码基于jdk1.7.0_11Vector算是一个历史遗留下来的类,现在已基本被ArrayList取代。本文出于学习的目的来分析下这个类。从图上可以看出Vector和ArrayList同样都直接继承于AbstractList,说明这两者功能上还是很相像的,事实也正是如此。下面我们依然通过源码的方式解读Vector这个类。public cl原创 2014-08-11 16:09:35 · 1964 阅读 · 0 评论