Java容器系列-HashMap源码分析
HashMap 实现了 Map 接口。HashMap 使用的很广泛,但不是线程安全的,如果在多线程中使用,必须需要额外提供同步机制(多线程情况下推荐使用 ConCurrentHashMap)。 HashMap 的类图相对简单,主要就是继承了...
HashMap 实现了 Map 接口。HashMap 使用的很广泛,但不是线程安全的,如果在多线程中使用,必须需要额外提供同步机制(多线程情况下推荐使用 ConCurrentHashMap)。 HashMap 的类图相对简单,主要就是继承了...
fail-fast 实际上是一种系统设计的方法,维基百科上是这样解释的: 在系统设计中,一个 fail-fast 的系统可以通过特定的接口快速报告系统中任何潜在的故障。fail-fast 系统在发现故障时不会尝试继续运行系统,而会立即停止当...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
2019年过得真快,不知不觉一年的时间又过去了,从正式参加工作到现在也有一年半时间了。 以前还真没有好好审视自己这几年的经历,借这篇文章,整理一下,然后重新出发。 经历回顾 在学校的大三到研二这段时间(2014-2017)里,我在学校里面创...
LinkedList 作为 List 的另一种实现,也非常的经典。与 ArrayList 不同,LinkedList 底层使用的是双向链表来实现的,具体类图如下: 相比于 ArrayList,LinkedList 继承了 AbstractS...
ArrayList 是使用的最为广泛的一个容器。ArrayList 的类的继承层次图如下: ArrayList 实现了 Collection 和 List 接口,同时也实现了 Cloneable、RandomAccess,所以 ArrayL...
Java 的容器是 Java 语言中很重要的一部分,日常写代码会大量用到各种容器。Java 中的容器是一个庞大的体系,日常的使用和学习都难免纠缠于细节,这样很难全面掌握 Java 的容器。这篇文章总览一下 Java 的容器体系,然后再深入到...
Stream 是 Java8 中一个重大的更新。Stream 为Java 真正带来了函数式编程的特性。对函数式编程不了解的人往往不知道如何动手,通过Benjamin 的教程来完整的学习一下 Java 的这个特性,学会这些技能会让你的代码看起...
Java11 是 Java8 之后的一个 LTS 版本。Java8 的 LTS 将在今年到期,在 Java8 之后,Java11 就是最好的选择了。Java9 到 Java11 的新特性虽然没有 Java8 的跨度大,但在虚拟机层面有了很大...
在大型系统中,日志是一个很重要的部分,线上问题的排查很大程度上依赖日志。记录日志的过程,大体上可以分成三个步骤: 在程序中对原始日志信息进行采集 对采集下来的日志信息进行格式化 将格式化好的日志信息写入目的地 Log4j2 的架构也自然是按...
日志对于程序很重要,日常分析生产环境问题的时候,基本就靠日志了。 Java 中有很多记录日志的工具,很多时候不太容易分清楚,比如一会 SLF4J ,一会 Log4j,后面还有 Log4j2,让人傻傻分不清。 日志框架有哪些 Java 中主流...