Java源码的积累
不断完善的少年
干什么都需要不断完善。
馒头比外卖更努力。
展开
-
ConcurrentHashMap如何实现高并发性的
1)利用锁的分段,默认16个锁共同维护整个ConcurrentHashMap,使一个写线程不会持有整个ConcurrentHashMap的锁,降低了持有锁的频率,大大的提高了并发性。 2)volatile变量的使用,根据先行发生原则:对于同一个volatile变量,一个写操作会先行发生后面的读操作,每一次,写操作都会队volatile变量的count进行改写,每次读操作都会先行访问这个count原创 2016-06-24 20:00:32 · 1019 阅读 · 0 评论 -
一个学生对HashSet源码的注释学习
package java.util; public class HashSet extends AbstractSet implements Set, Cloneable, java.io.Serializable { static final long serialVersionUID = -5024744406713321676L; //这就原创 2015-12-29 11:41:06 · 301 阅读 · 0 评论 -
一个学生对HashMap源码注释分析
package java.util; import java.io.*; public class HashMap extends AbstractMap implements Map, Cloneable, Serializable { /** * 默认的数组大小,也就是桶数,必须是2次幂,在indexFor方法会降到2次幂的原因 */ s原创 2015-12-22 11:44:40 · 342 阅读 · 0 评论 -
一个学生对Linkedlist源码分析注释
菜鸟分析,高手勿喷~ 实现:链表 随机访问比arraylist弱,但是插入和删除这些却要高原创 2015-11-30 11:57:38 · 622 阅读 · 0 评论 -
简单数据库连接池
参考:http://www.open-open.com/lib/view/open1410875608164.html import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.Driver; import java.sql.DriverManager; import java.sql.SQLExc转载 2015-12-23 14:22:19 · 135 阅读 · 0 评论 -
深入理解ArrayList
要点: 1)数组实现 Object[]。 2)无限扩容。 3)非线程安全。 4)插入元素的时候可能扩容,删除元素时不会缩小容量,不使用索引的元素查找需要遍历数组,并使用equals比较。 构造: 1)默认构造方法使用默认容量,大小为10。 2)指定容量的构造方法。 代码如下: public ArrayList(int initialCapacity) { supe原创 2016-04-30 13:01:04 · 434 阅读 · 0 评论 -
Hashtable源码粗略解析
package java.util; import java.io.*; public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable { /** * 桶的数组 */ private transient Entry[] ta原创 2016-05-03 21:38:51 · 3486 阅读 · 0 评论 -
Vector源码注释,粗略理解
认识Vector就可以和ArrayList进行比较,注意两点: 1,它是线程安全的ArrayList(方法都有synchronized)。 2,Arraylist无限扩容,扩容方式为在曾经的容量size加上某个参数的值(在add中是加1)和capacity进行比较,如果capacity小,那么capacity=1.5*capacity + 1,如果此时capacity还是小,那么新容量为siz原创 2016-05-15 19:50:34 · 321 阅读 · 0 评论 -
通过分析 JDK 源代码研究 TreeMap 红黑树算法实现
TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。 TreeSet 和 TreeMap 的关系 为了让大家了解 TreeMap 和 TreeSet 之间的关系,下面先看 TreeSet 类的部分源代码: public class TreeSet extends AbstractSet implements转载 2016-05-18 08:57:15 · 357 阅读 · 0 评论