源码
文章平均质量分 61
煮汤的那个人
这个作者很懒,什么都没留下…
展开
-
java源码阅读之java.util.Objects
之所以写这篇文章,是因为工作中接触到一个开源项目代码,而这个开源代码使用到了这个类。同时如果不是前面的包名java.util,都很容易看错成java超类java.lang.Object。java.util.Objects是java1.7新增的一个类。下面这篇文章将基于1.7.0_80版本的类库源码展开。一、类定义:package java.util;/** * @since 1...原创 2018-07-29 18:42:10 · 834 阅读 · 1 评论 -
从kafka源码阅读中看出了问题之除零不异常
最近在看kafka源码,看到一个让我感到很陌生的地方,也引起了我深深地思考。竟然还有可以除0合法的地方:在org.apache.kafka.common.metrics.stats.Max类中,看到了构造函数: public Max() { super(Double.NEGATIVE_INFINITY); }我忍不住F3了一下Double.NEG...原创 2018-08-01 22:31:42 · 306 阅读 · 0 评论 -
java源码阅读之小数缓存
在谈小数缓存之前,我们先来看看这两行代码有什么区别:Long a = new Long(1L);Long b = Long.valueOf(1L);要区分他们有什么区别,免不了要去看看java源码了。这里我以JDK1.8.0_151的源码做解析:先看Long的构造函数:private final long value;public Long(long value) { ...原创 2018-08-05 21:00:53 · 239 阅读 · 0 评论 -
java源码阅读接口篇之java.util.Collection
java.util.Collection是个接口,很容易和工具类java.util.Collections弄混淆。今天我就抽丝剥茧来研究一下这个接口。这里我基于JDK1.7.0_80的Collections接口进行研究,以避免JDK1.8引入的StreamAPI和函数式编程接口。一、接口定义:public interface Collection<E> extends I...原创 2018-08-05 13:05:43 · 357 阅读 · 0 评论 -
Java源码阅读之HashSet
HashSet是我们常用的一种数据结构。用来存储值唯一的集合。本文基于JDK1.8.0_151的Java源代码。先来看看HashSet的类定义: /** * @author Josh Bloch * @author Neal Gafter * @see Collection * @see Set * @see TreeSet * @see ...原创 2018-08-05 11:13:42 · 228 阅读 · 0 评论 -
java源码阅读之java.lang.Enum
之所以要研究这个类,因为它是java中所有枚举的父类,本文基于JDK1.9.0的java源码进行展开。一、类定义:public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable {可以看到Enum是一个虚基类,并且实现了Comp...原创 2018-07-29 23:53:44 · 1299 阅读 · 0 评论 -
java源码阅读接口篇之java.util.Queue
Queue接口继承自Collection接口。接口中的方法如下:一、接口定义:/** * @since 1.5 * @author Doug Lea * @param <E> the type of elements held in this collection */public interface Queue<E> extends Collecti...原创 2018-08-12 20:41:10 · 317 阅读 · 0 评论