水煮 JDK 源码
文章平均质量分 84
从源码的角度,去阅读和分析 JDK 中相应类的实现,加深对底层基类的理解,提高自身的编程能力和实践能力
然笑后端
专注于Java后端技术源码阅读与分享
展开
-
从源码角度分析UUID的实现原理
UUID 的全称是 universally unique identifier,表示通用唯一标识符,UUID 类位于 java.util 包下,自 JDK 1.5 版本新增的,它是一个 final 类,不能被继承,在平常的开发中,通常会使用 UUID 类来生成唯一的标识符...原创 2022-08-15 09:00:00 · 1117 阅读 · 1 评论 -
Java 8中 Objects 类源码实现与分析
Objects 类位于 java.util 包下,自 JDK 1.7 版本新增的,它是一个 final 类,不能被继承,且构造函数是 private 的,不能被实例化,它提供了一系列操作Object对象的静态方法,通常会被当做工具类去使用...原创 2022-08-14 09:00:00 · 207 阅读 · 0 评论 -
Java 8中 Optional 类源码实现与分析
在Java 8 中为什么会引入这样的一个 Optional 类呢?主要是为了对存在或缺失的变量值建模,这样一来,不管变量有没有值,都可以统一使用 Optional 来表示,它可以减少 null 值的判断逻辑,使得代码结构更加简单,同时也可以减少 NullPointerException 异常的出现...原创 2022-08-13 09:00:00 · 176 阅读 · 0 评论 -
Java 8 中Integer 包装类源码实现与分析
虽然基本数据类型 byte、short、int、long、float、double 经常使用,但是我们平时可能并不会过多关注其相应的包装类 Byte、Short、Int、Long、Float 、Double,这里以 Integer 类为例,分析其具体源码的实现原创 2022-08-12 09:00:00 · 246 阅读 · 0 评论 -
Java 8 中 Byte、Short、Integer、Long内部缓存类的对比与源码分析
对于基本数据类型的包装类 Byte、Short、Integer、Long ,其内部实现都有一个缓存类,这个缓存类主要用于缓存固定区间的数值对象,默认为 [-128, 127],其中 Integer 的缓存区间最大值可以通过属性动态配置,而 Byte、Short、Long 则不能动态配置...原创 2022-08-11 09:00:00 · 950 阅读 · 0 评论 -
Java 8 中 Number 类及各子类所占字节数源码分析
基本的数据类型是在开发过程中经常使用的,而且它们都有着与之对应的包装类,基本的数据类型和包装类之间会自动转换,即所谓的自动装箱和拆箱,但是在使用的时候,我们可能并不会过多的去关注这些包装类的父类,下面结合具体的源码来分析一下它们的父类 Number 类...原创 2022-08-10 11:20:16 · 326 阅读 · 0 评论 -
Java 8 中 GZIPOutputStream类源码介绍
GZIPOutputStream 类位于 java.util.zip 包下,继承于 DeflaterOutputStream 类,它实现了一个流式过滤器,主要用于以GZIP文件格式写入压缩数据原创 2022-08-03 09:00:00 · 2217 阅读 · 0 评论 -
Java 8 中 GZIPInputStream 类源码分析
GZIPInputStream 类位于 java.util.zip 包下,继承于 InflaterInputStream 类,它实现了一个流式过滤器,主要用于读取GZIP文件格式的压缩数据原创 2022-08-02 09:00:00 · 1130 阅读 · 0 评论 -
Java 8 中 ByteArrayInputStream 类源码分析
ByteArrayInputStream 类位于 java.io 包下,继承于 InputStream 类,表示字节数组输入流,它会在内存中创建一个字节数组缓冲区,然后把从输入流中读取的数据全部保存在缓冲区中。原创 2022-08-01 09:00:00 · 996 阅读 · 0 评论 -
Java 8 中 ByteArrayOutputStream 类源码分析
ByteArrayOutputStream 类位于 java.io 包下,继承于 OutputStream 类,从字面上可以看出,它表示的是一个字节数组输出流,它的实现方式是先在内存中创建一个字节数组缓冲区 `byte buf[]`,然后把所有发送到输出流的数据保存于字节数组缓冲区中...原创 2022-07-31 09:03:52 · 1740 阅读 · 0 评论 -
为什么说优秀的源码就是最好的老师?
对于我来说,一直觉得优秀的源码就是最好的老师,在阅读的过程中,时常会被那些好的设计思想、代码结构、实现方式、方法变量命名等给惊艳到,心中也时常生出感叹:原来竟可以如此!原创 2022-07-30 22:42:14 · 167 阅读 · 0 评论 -
《水煮JDK源码》系列文章介绍
对于一个Java程序员来说,JDK就是Java语言的基石,在日常的编程中,都需要与JDK中的类打交道,既然离不开它们,那么慢慢地去了解它们,也是很有必要的,而了解它们最好的方式就是阅读其源码,分析它们的实现方式............原创 2022-07-30 22:39:54 · 203 阅读 · 0 评论