随笔分类 - 源码赏析
关于Java以及第三方库的源码赏析,记录个人的学习经历。
摘要:### 为什么要写这篇文章 经过了若干年的发展,Java逐步从`java8`升级为`java11`,`java17`。 让我们对比学习一下最新一版的LTS版本和`java8`比起来让代码简化了多少。 1. 文本块(Text Blocks)。 这个写法有些类似于 javascript、 Lua等脚本语
阅读全文
摘要:目的 Class 类是每一个程序员都必须了解的,也是使用反射机制的基础。 这篇文章将Class 类的公共方法大致介绍了一遍(省略了安全、枚举、断言、注解相关代码)。 代码 package java.lang; //省略 import /** * 类的实例:正在运行的Java应用中的类/接口 */ p
阅读全文
摘要:在大致了解了String之后,可能有的读者发现了,我们并没有谈到CharSequence接口。 原因是在这一节,CharSequence要和StringBuilder(Java1.5)、StringBuffer(Java1.0)一起讨论。 package java.lang; import java
阅读全文
摘要:在 Java源码赏析(三)初识 String 类 中,我们已经大概理解了String的接口,接下来我们描述一下String的常用工具方法。 /** * 为了精简的String结构,之前提到的方法省略,重点介绍剩余的方法(省略构造方法、indexOf、lastIndexOf、valueOf) */ p
阅读全文
摘要:元注解 @Target :标识注解的目标,默认为所有 ElementType.TYPE(用于类) ElementType.FIELD(用于域,包括enum) ElementType.METHOD(用于方法) ElementType.PARAMETER(用于正式参数) ElementType.CONS
阅读全文
摘要:由于String类比较复杂,现在采用多篇幅来讲述 这一期主要从String使用的关键字,实现的接口,属性以及覆盖的方法入手。省略了大部分的字符串操作,比如split()、trim()、replace()、contains()、matches()等。 在《Java源码赏析(五)再识 String 类》
阅读全文
摘要:一、Comparable接口 package java.lang; import java.util.*; public interface Comparable<T> { /** * int x = a.compareTo(b) * a > b, x > 0 * a == b, x = 0 * a
阅读全文
摘要:写这个系列的原因,其实网上已经有无数源码分析的文章了,多一篇不多,少一篇不少,但为什么还要写这部分文章呢?于私,其一,上班族已经很久没有打过完整的一整段有意义的话,算是锻炼个人的书写、总结能力,其二,别人的代码永远是别人的,只有亲自做过才知道其中的滋味,其三,若干年后如果博客园还在,也算是一段美好的
阅读全文

浙公网安备 33010602011771号