最新 最热

JDK核心JAVA源码解析(1) - Object

想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。 首先我...

2021-04-12
0

增强 Stream 接口的 distinct 方法的一些思考

Java 8 开始引入了 Stream, 其中的 api 一直在不断的优化更新完善,Java 9 中更是引入了 ofNullable 还有 takeWhile 和 dropWhile 这两个关键 api。有时候,我们想对 Stream 中的对象进行排重,默认的可以用 distinct 这个 ...

2021-04-12
0

每日一面 - 为何hashmap默认的负载因子是0.75?应该是空间和时间的折中,背后的统计原理是什么呢?

即数组 + 链表的实现方式,通过计算哈希值,找到数组对应的位置,如果已存在元素,就加到这个位置的链表上。在 Java 8 之后,链表过长还会转化为红黑树。红黑树相较于原来的链表,多占用了一倍的空间,但是查询速度快乐一个数量级,...

2021-04-12
0

HashMap 的 defaultLoadFactor 的一种推导计算思路

现在主流的 HashMap,一般的实现思路都是开放地址法+链地址法的方式来实现。

2021-04-12
0

2021-2-17:Java HashMap 的中 key 的哈希值是如何计算的,为何这么计算?

首先,我们知道 HashMap 的底层实现是开放地址法 + 链地址法的方式来实现。

2021-04-12
0

Java类集框架详细汇总

Java的类集框架比较多,也十分重要,在这里给出图解,可以理解为相应的继承关系,也可以当作重要知识点回顾;

2021-04-12
0

java并发编程JUC第九篇:CountDownLatch线程同步

在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue、SynchronousQueue、BlockingDeque接口、ConcurrentHa......

2021-04-09
1

java并发编程工具类JUC第八篇:ConcurrentHashMap

在之前的文章中已经为大家介绍了java并发编程的工具:BlockingQueue接口、ArrayBlockingQueue、DelayQueue、LinkedBlockingQueue、PriorityBlockingQueue、SynchronousQueue、BlockingDeque接口,本文为系列文章第八篇。...

2021-04-09
0

翻遍全网!找到最好的【Java实现】向现有Map键追加值而非覆盖

使用this.put(“String”, “String”)方法添加一个键值对。但是,它会覆盖现有值,而我想使用同一个键存储和配对多个值。

2021-04-09
0

LRU实现基于map和双向链表实现

前面我们已经看到了单链表的数据结构:数据域和节点域node。而双向链表则是:数据域和节点域(包含前驱节点和后继节点)。

2021-04-09
0