源代码
文章平均质量分 77
xiaoshanjnby
这个作者很懒,什么都没留下…
展开
-
LinkedList源代码分析
LinkedList是动态数组的另一种实现,底层以双向循环链表为实现基础,它的优势在于可以快速的删除和添加元素,不需要像ArrayList那样移动大量的元素,但对于查找元素需要逐个遍历链表中的元素,进行匹配。所以LinkedList适用于频繁删除和添加元素,较少查找元素的应用场景。 LinkedList内部使用Entry<E>来封装双向循环链表结点.Linke...原创 2014-01-09 12:24:33 · 118 阅读 · 0 评论 -
ArrayList类源码分析
ArrayList源码分析 ArrayList是以数组为基础实现的一个动态数组容器,通过以下的代码分析可知,一方面在ArrayList中添加或者删除元素(除了在数组容器末尾添加或者删除元素),是需要移动大量元素的借助System.arraycopy()来实现拷贝移动,另一方面,由于数组实现基础,可依靠数组下标,可以实现随机访问,当然查找具体的元素,还是需要循环去查找的,再者ArrayLi...原创 2014-01-09 12:25:15 · 61 阅读 · 0 评论 -
HashSet源码分析
HashSet是Set的一个实现,Set定义一个集合,集合的一个特征是不能包含重复的元素(可以包含null),HashSet底层使用HashMap作为存储结构来实现。 可知HashSet只用来存储对象,并不是key-value对,因为HashMap中的key必须是不同的,跟集合的定义相同, 所以HashSet只使用HashMap中的key来存储元素,而value字段使用同一个...原创 2014-01-10 09:29:58 · 52 阅读 · 0 评论 -
HashMap源码分析
HashMap用来存储key-value对,内部使用拉链法Hash表作为存储结构,key-value被封装成Entry<K, V>,Entry也是链表结点。 1. Hash表的内部结构如下: Entry<K, V> table[]; Java代码 table[0]-->Entry(K,V)-->En...原创 2014-01-10 09:30:27 · 66 阅读 · 0 评论 -
java.util.ConcurrentModificationException 出现的原因和解决办法
用iterator遍历集合时碰到java.util.ConcurrentModificationException这个异常, 下面以List为例来解释为什么会报java.util.ConcurrentModificationException这个异常,代码如下: Java代码 public static void main(String[] args) { List<...原创 2014-06-10 10:42:04 · 1256 阅读 · 1 评论 -
Commons BeanUtils
一)此包的下载 http://commons.apache.org/beanutils/download_beanutils.cgi 此包目前最新的版本是1.8.3 二)此包的功能 用于处理JavaBeans。它利用Java的反射机制,从动态的生成对bean的getter和setter的调用代码,到模拟创建一个动态的bean,等等。这个包看似简单,却是很多开源项...原创 2014-06-10 10:47:04 · 163 阅读 · 0 评论 -
java Throwable源码
package java.lang; import java.io.*; /** * * Throwable是所有Error和Exceptiong的父类 * 注意它有四个构造函数: * Throwable() * Throwable(String message) * Throwable(Throwable cause) ...原创 2014-02-07 21:38:37 · 77 阅读 · 0 评论