文章列表展示

当前位置:首页 > 分类 > JAVA基础

JDK源码-String

string

String类定义如下publicfinalclassString{...}String类是一个final类,final类不能被继承。报错提示:The type StringDemo cannot subclass the final class Str...

JDK源码-StringBuffer和StringBuilder的区别

StringBuffer StringBuilder String AbstractStringBuilder

说起StringBuffer,StringBuilder就不得不说AbstractStringBuilder了,两个类都是继承这个抽象类。 两个类定义完全相同,都是不能继承的final类。

JDK源码-ArrayList

ArrayList list扩容机制 list移除 ConcurrentModificationException fail-fast 快速失败

ArrayList,list扩容机制,list移除,ConcurrentModificationException,fail-fast,快速失败

JDK源码-LinkedList

LinkedList toString

LinkedList类其实没什么好说的,唯有数据结构与ArrayList不同,其他大致相同。如transient,ConcurrentModificationException,fail-fast,Serializable。因为数...

JDK源码-HashMap

hashmap 扩容 2的幂指数 容量初始化时机 hashcode 默认容量

HashMap作为java开发中最常用的数据结构和面试中出现频率最高的类,它的魅力到底在哪里呢。它基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许...

JDK源码-LinkedHashMap

LinkedHashMap

LinkedHashMap常作为HashMap(了解HashMap)的替补出现,它继承自HashMap,并继承了HashMap百分之八十的功能,剩下的百分之二十的功能则是用于排序。1,LinkedHa...

JDK源码-Hashtable

Hashtable HashMap ConcurrentHashMap

在说Hashtable类实现之前,先看一段Hashtable类注释//110行 *JavaCollectionsFramework</a>.Unlikethenewcollection *implementations,{@codeHashtable}issynchr...

JDK源码-TreeMap

TreeMap 红黑树

TreeMap使用的是红黑树结构,它的出现是为了解决二叉树在添加有序集合时导致二叉树变成了线性链表的问题。比如我们期望添加的元素为2,1,3,在使用二叉树时,2为根...

JDK源码-Integer装箱与拆箱

Integer源码 装箱 拆箱

1,自动装箱如Integera=1;这样的代码会自动装箱,也就是会调用Integer类的static valueOf(int i)方法;publicstaticIntegervalueOf(inti){ if(i>=IntegerCache.l...

JDK源码-HashSet源码分析

JDK源码-HashSet源码分析

HashSet用HashMap实现,实例化一个HashSet对象就是实例化一个HashMap对象,向HashSet-add(A)一个元素就是向HashMap-put(A,staticfinal obj),所以要了解HashSet应...