Java源码阅读
Guoshi_Wan
往事越千年,魏武挥鞭,东临碣石有遗篇,萧瑟秋风今又是,换了人间!
展开
-
Java源码阅读之String(1)
Java源码阅读之String(1) String类表示字符串。 Java程序中的所有字符串文字(例如“abc”)都是作为这个类的实例来实现的。 String的实例创建之后值就不能被修改。StringBuffer和StringBuilder支持可变的字符串。因为字符串对象是不可变的,所以它们可以共享。String类底层是用char数组存储值的,它实现了java.io.Serializabl原创 2017-11-30 14:32:23 · 1369 阅读 · 0 评论 -
Java源码阅读之HashMap(1)
表结构的第一部分,HashMap。/** * HashMap是基于Map接口的实现类,允许克隆和序列化操作。 * HashMap是非线程安全的,键和值都允许为null,但是键为null的键值对会被放在最前面。 * HashMap不能保证存储的键值对的顺序是一直保持不变的。 * HashMap的操作性能与两个因素有关,桶的大小和负载因子的大小,为了保证性能,请不要负载因子设置的过原创 2018-02-02 15:53:54 · 909 阅读 · 0 评论 -
Java源码阅读之ArrayList(3)
/** * 将列表中的对象全部置为null,但是列表的容量不会改变 */ public void clear() { modCount++; for (int i = 0; i < size; i++) elementData[i] = null; size = 0; } /*原创 2018-01-18 16:19:56 · 957 阅读 · 0 评论 -
Java源码阅读之ArrayList(终)
/** * 加强版for循环遍历列表 */ @Override public void forEach(Consumer action) { Objects.requireNonNull(action); final int expectedModCount = modCount; @SuppressWarning原创 2018-01-26 10:35:28 · 892 阅读 · 0 评论 -
Java源码阅读之ArrayList(2)
/** * 修改这个实例的容量,修改这个列表的最大容量为size */ public void trimToSize() { modCount++; if (size < elementData.length) { elementData = (size == 0) ? E原创 2018-01-09 17:32:41 · 882 阅读 · 0 评论 -
Java源码阅读之ArrayList(1)
/***ArrayList类是Java的动态数组类,该类实现了 List, RandomAccess, Cloneable, java.io.Serializable*四个接口,List接口是集合类的总接口,声明了诸多与集合操作相关的方法*RandomAccess是一个标志接口,实现了这个接口意味着这个类的实例对象支持随机访问*Cloneable是一个标志接口,实现了这个接口意味着这个类的原创 2018-01-08 15:43:55 · 984 阅读 · 0 评论 -
Java源码阅读之ArrayList(4)
/** * AbstractList.ListItr的优化版本 */ private class ListItr extends Itr implements ListIterator { /** * 构造函数,必须指定初始句柄位置 */ ListItr(int index) {原创 2018-01-24 11:04:33 · 878 阅读 · 0 评论 -
Java源码阅读之String(终)
Java源码阅读之String(终) 最后一篇介绍String 源码的博客。 /** *根据所传递的regex字符串分割当前对象,limit控制匹配分割次数 *如果limit为正值则最多匹配limit-1次,形成limit个子字符串 *如果limit为非正值则尽可能多次匹配 */ public String[] split(String reg原创 2018-01-05 16:39:03 · 1102 阅读 · 0 评论 -
Java源码阅读之String(3)
Java源码阅读之String(3)这一篇博客主要读一下String类的比较方法/***将anotherString对象和当前对象进行对比,对比方式为*从两者首位依次向后对比,知道对比到其中一个结束*返回值为负数则当前对象小,返回0则相等,返回正数则当前对象大*/public int compareTo(String anotherString) { int len1 = valu原创 2017-12-05 18:25:36 · 491 阅读 · 0 评论 -
Java源码阅读之String(2)
Java源码阅读之String(2)这一篇博客用于记录String类的部分方法。//获取字符串长度,返回的是value数组的长度public int length() { return value.length;}//根据value数组长度判断字符串是否为空public boolean isEmpty() { return value.length == 0;}//根据ind原创 2017-12-02 14:32:47 · 1252 阅读 · 0 评论 -
Java源码阅读之String(4)
Java源码阅读之String(4)这一篇博客主要阅读String类的查找和替换相关的方法。 /* *查询当前对象的哈希码,如果当前对象没有计算过哈希码 *则计算当前对象的哈希码并赋值给当前对象的hash对象 *计算方法为: *value[0]*31^(n-1)+value[1]*31^(n-2)+...+value[n-2]*31+value[n-1]原创 2017-12-08 15:40:13 · 363 阅读 · 0 评论