Java源码研究
文章平均质量分 64
crawlertinux
ML!!!
展开
-
Guava 的 Function 接口
光是看一些博客容易打瞌睡,为此边记录边学习。 最近在研究 springfox 的源码,在其源码中多次看到了 Guava 的 Function 接口的使用,今天就来学习学习 Guava 的 Function 接口。 首先,需要搞明白的一个问题:什么是 Guava? 查阅博客得知,Guava 是对 Java API 的扩展,为 Java 中的一些常见 API 提供了更优雅的实现,Guava 中包含了 Google 正在其公司项目中使用的核心库。 要使用 Guava 库的 Function 接口,需要导入 Gua原创 2021-09-29 11:05:58 · 185 阅读 · 0 评论 -
从源码级别分析Java中ArrayList的动态修改是如何实现的
要研究ArrayList的动态修改是如何实现的,那么自然想到去看看ArrayList的add()方法的底层实现: public boolean add(E e) { ensureCapacityInternal(size + 1); // ? elementData[size++] = e; // 添加元素,数组内当前元素个数加1 return true; // 成功返回true,表示添加成功 } add()方法其他部分都很好理解,ensureCapacityInternal(s原创 2021-06-25 10:34:21 · 121 阅读 · 0 评论 -
Java 8 源码研究 - AbstractStringBuilder
AbstractStringBuilder是StringBuilder和StringBuffer的父类,要想研究透这两个类,就不得不研究一下AbstractStringBuilder,毕竟StringBuilder和StringBuffer中的许多方法都直接调用自AbstractStringBuilder。 AbstractStringBuilder abstract class AbstractStringBuilder implements Appendable, CharSequence Abstr原创 2021-06-19 09:30:24 · 489 阅读 · 1 评论 -
Java源码研究 - CharSequence
CharSequence是一个接口,该接口定义了一套字符序列应遵守的规范。所谓的字符序列,自然是一个有序的由字符组成的串。String、StringBuilder等都属于字符序列。 该接口定义了6个方法(Java 8 版本),其中前4个为抽象方法: length() charAt() subSequence() toString() chars() codePoints() 从这些方法上,可以看出,只要一个类是一种字符序列,就必须做到以下几点: 能获取到序列的长度 – length() 能获取到其中某原创 2021-06-18 17:11:41 · 115 阅读 · 0 评论 -
Java源码研究 - StringJoiner源码刨析
…原创 2021-06-10 12:32:29 · 161 阅读 · 1 评论 -
Java源码研究 - String篇
按住ctrl,访问String类的实现代码。 可以看到String这个类用final关键词修饰,是无法被继承的。String这个类实现了java.io.Serializable、Comparable和CharSequence接口, 其中Serializable用于标记String是可被序列化的,实现Comparable接口则是为了实现这个接口中的compareTo()方法,让自己可与其他字符串进行比较。 String中实现的compareTo()方法的原理: 按照字母顺序比较两个字符串,比较字符串中每个字原创 2021-05-26 20:36:56 · 173 阅读 · 2 评论