Collections 族系详解 —— ImmutableCollections

ImmutableCollections即不可变即,最初出现在Google 的Guava 中,在jdk的Java9中被引入。JDK9,10中的ImmutableCollections只是一个存放不可变集合的一个容器,不是一个公共的API。先看ImmutableCollections的设计图ImmutableCollections真的只是一个集合,下面的Set0,Set1..List... …… 阅读全文

Map族系详解 —— Map

本文以Java10为背景,Java8到Java10只是增加了一些方法,总体结构没变。 转载请注明: TalBen在我们解释HashMap之前,先看看HashMap的结构: HashMap实现Map,继承AbstractMap。 先解释一下Map Interface。Map是一个interface,它为一个能 maps keys to values的对象提供了一个规范... …… 阅读全文

Map族系 —— AbstractMap

本文以Java10为背景,Java8到Java10只是增加了一些方法,总体结构没变。转载请注明:https://blog.csdn.net/ydonghao2/article/details/81077783TalBen这个class提供了Interface Map的一个最基本的实现。可以说在defeult和static方法能在interface 实现之前,为了减少要implemen... …… 阅读全文

Map族系——HashMap

本文以Java10为背景,Java8到Java10只是增加了一些方法,总体结构没变。转载请注明:https://blog.csdn.net/ydonghao2/article/details/81079249TalBen目录Hash()tableSizeFor()HashMap的FieldHashMap的构造方法核心方法put()resize()Tre... …… 阅读全文

Java8里面的java.util.Spliterator接口有什么用

首先先直接给一个答案:Spliterator(splitable iterator可分割迭代器)接口是Java为了并行遍历数据源中的元素而设计的迭代器,这个可以类比最早Java提供的顺序遍历迭代器Iterator,但一个是顺序遍历,一个是并行遍历从最早Java提供顺序遍历迭代器Iterator时,那个时候还是单核时代,但现在多核时代下,顺序遍历已经不能满足需求了...如何把多个任务分配到不同核... …… 阅读全文

【Java】奇怪的考试题:128与127对于==(等于号)的不同区别研究!

为什么128 == 128返回为False,而127 == 127会返回为True?这是我们今天要讨论的话题,因为我觉得它非常的有趣。如果你运行如下代码:class A{ public static void main(String[] args) { Integer a = 128, b = 128; System.out... …… 阅读全文

泛型

目录泛型三种形式泛型继承规则通配符类型无限定通配符泛型实现原理:类型擦除特殊的擦除:桥方法泛型的意义:使得程序具有更好的可读性和安全性。泛型三种形式泛型类:public class Axxx<T> {} ,public interface Iterable<T>泛型方法:public static <T> getMiddl... …… 阅读全文

JDK集合

本文以Java10为背景,Java8到Java10只是增加了一些方法,总体结构没变。转载请注明:https://blog.csdn.net/ydonghao2/article/details/82221628Tal.Yuan在写了解集合之前,我们先了解一下在Java中(或者C++中也一样)的一种模式:一般对interface 和 abstract class和 class之间的... …… 阅读全文