jdk源码学习
文章平均质量分 88
关于jdk的一些源码
嘿,鱼骨头^O^
这个作者很懒,什么都没留下…
展开
-
JDK源码之HashSet分析
目录1. HashSet简介2. 继承体系3. 成员变量4. 构造方法5. 成员方法iterator()size()isEmpty()contains(Object o)add(E e)remove(Object o)clear()clone()序列化方法总结 1. HashSet简介 集合中元素是唯一的 集合中元素是无序的 HashSet本质上是使用了HashMap,并将键值对中的键置为一个固定值,只使用键,起到了无序唯一的作用 HashSet没有提供get()方法,和HashMap是一样的,因为内部是原创 2022-01-05 20:22:19 · 488 阅读 · 0 评论 -
JDK源码之HashTable解析
JDK源码之HashTable解析HashTable和HashMap的对比HashTable1. 继承体系2. 源码属性构造方法成员方法get(Object key)put(K key, V value)addEntry(int hash, K key, V value, int index)void rehash()remove(Object key)hashCode() HashTable和HashMap的对比 两者的继承体系有区别 两者都实现了Map,Serializable,Cloneable接原创 2021-12-22 14:59:13 · 503 阅读 · 0 评论 -
JDK源码之TreeMap解析
TreeMap使用红黑树进行存储,可以按照键值的大小进行排序(自然排序或者是自定义排序) 1. 继承体系 继承了AbstractMap,而AbstractMap实现了Map接口中的一些方法,因此减少了TreeMap实现Map接口的复杂度 实现了Map接口,具备了Map框架,其中存储的元素是键值对 实现了NavigableMap接口,意味着元素具有极强的元素搜索能力 实现了Cloneable接口,具备克隆能力 实现了Serializable接口,可以被序列化和反序列化 public class Tree原创 2021-12-21 20:28:41 · 725 阅读 · 0 评论 -
JDK源码之LinkedHashMap解析
LinkedHashMap解析1. 简介2. 继承体系3. 成员变量4. 构造方法5. 内部类6. 成员方法put(key, value)remove()get()遍历afterNodeRemoval()afterNodeInsertion()afterNodeAccess()总结 1. 简介 HashMap没有保证散列表的存取顺序,而LinkedHashMap继承了HashMap,并在此基础上保证了元素的存取顺序,可以按照访问顺序和插入顺序两种顺序进行访问 LinkedHashMap继承了HashMap原创 2021-12-19 11:45:11 · 573 阅读 · 0 评论 -
JDK源码之Vector源码分析
Vector源码分析1.继承体系2. 成员变量3. 构造方法4. 成员方法get(int index)set(int index, E element)remove(Object o)add(E e)5. 其他方法6. 扩容机制7.总结 Vector是动态数组,底层也是一个数组,Vector与ArrayList是很相似的,只是一些细节方面不太一样,比如Vector是线程安全的,Vector的扩容是默认扩容为原来的2倍 1.继承体系 实现了List接口,具备了集合的基本框架,比如集合添加、删除、修改 实现原创 2021-12-18 17:19:40 · 363 阅读 · 0 评论 -
String与StringBuffer与StringBuilder解析
String与StringBuffer与StringBuilder解析String与StringBuilder与StringBufferString解析前言String对象的继承体系成员变量构造方法成员方法int length()boolean isEmpty()char charAt(int index)byte[] getBytes()boolean equals(Object anObject)boolean equalsIgnoreCase(String anotherString)int comp原创 2021-12-01 19:25:01 · 535 阅读 · 0 评论 -
JDK源码之HashMap解析
HashMap解析 HashMap的继承体系 //HashMap继承体系源码部分 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable { } 从图中我们可以看出,HashMap实现了Serializable、Cloneable、Map接口,继承了AbstractMa原创 2021-11-30 23:13:17 · 924 阅读 · 0 评论 -
JDK源码之LinkedList解析
JDK源码之LinkedList解析java集合之LinkedList解析LinkedList继承关系图元素的存储结构LinkedList的构造函数与成员变量LinkedList的成员方法addAll方法**node(int index)方法**一些私有方法linkFirst(E e)linkLast(E e)linkBefore(E e, Node succ)unlinkFirst(Node f)unlinkLast(Node e)unlink(Node x)isElementIndex(inde ind原创 2021-11-25 11:45:43 · 1026 阅读 · 0 评论 -
JDK源码之ArrayList解析
java中的集合分为两类,一类是Collection体系,一类是Map体系. Collection接口和Map分别是两大体系的顶层接口,在Collection接口下又有三大子接口, 分别是List接口、Set接口、Queue接口(队列),其中List,Qeue是有序可重复的 ,而Set是无序不可重复的。在List接口下主要有两个实现类,分别是ArrayyList实现类和 LinkedList实现类,其中ArrayList底层是数组实现的,与数组的区别是ArrayList是可以 扩容的,即动态数组原创 2021-11-20 23:53:56 · 703 阅读 · 0 评论
分享