源码分析
文章平均质量分 95
源码分析:JDK源码分析 Spring源码分析 Mybatis 源码分析等
上山打卤面
2015年,网恋被骗8000块,站在成都双流机场一个晚上。第二次是异地恋,牵了牵手,被骗两万。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Thread类源码解析
1 类注释程序中执行的线程。JVM允许应用程序拥有多个并发运行的执行线程。每个线程都有一个优先级。优先级高的线程优先于优先级低的线程执行。每个线程可能被标记为守护线程,也可能不被标记为守护线程。当在某个线程中运行的代码创建一个新 Thread 对象时,新线程的优先级最初设置为创建线程的优先级,并且只有在创建线程是一个守护线程时,新线程才是守护线程。当JVM启动时,通常有一个非守护的线程(它通常调用某个指定类的main方法)。JVM 继续执行线程,直到发生以下任何一种情况时停止:Runtime 类原创 2021-02-28 11:35:13 · 593 阅读 · 0 评论 -
ArrayList源码分析
1. 概述:ArrayList ,基于 [] 数组实现的,支持自动扩容的动态数组。相比数组来说,因为其支持自动扩容的特性,成为我们日常开发中,最常用的集合类之一 另一个不用说就是HashMap在前些年,实习或初级工程师的面试,可能最爱问的就是 ArrayList 和 LinkedList 的区别与使用场景。不过貌似,现在问的已经不多了,因为现在信息非常发达,这种常规面试题已经无法区分能力了。当然即使如此,也不妨碍我们拿它开刀,毕竟是咱的“老朋友”2. 类图:实现了 4 个接口,分别是:ja原创 2020-09-13 15:00:54 · 701 阅读 · 1 评论 -
LinkedList源码分析
1. 概述:LinkedList ,基于节点实现的双向链表的 List ,每个节点都指向前一个和后一个节点从而形成链表(但是需要注意就是LinkedList 1.6之前使用的是循环链表)相比 ArrayList 来说,我们日常开发使用 LinkedList 相对比较少 但是重要程度和ArrayList是一致的。2. 类图:如下 3 个接口是 ArrayList 一致的:java.util.List 接口java.io.Serializable 接口java.lang.Cloneable原创 2020-09-13 15:06:18 · 231 阅读 · 0 评论 -
HashMap源码分析
1. 概述:HashMap ,是一种散列表,用于存储 key-value 键值对的数据结构,一般翻译为“哈希表”,提供平均时间复杂度为 O(1) 的、基于 key 级别的 get/put 等操作。之前我们在 ArrayList码分析中提到过,“在前些年,实习或初级工程师的面试,可能最爱问的就是 ArrayList 和 LinkedList 的区别与使用场景或者是HashMap 的实现原理是什么“。在日常的业务开发中,HashMap 可以说是和 ArrayList 一样常用的集合类,特别是考虑到数据库原创 2020-09-13 15:10:52 · 291 阅读 · 0 评论 -
HashSet 源码分析
1. 概述:HashSet ,基于 HashMap 的 Set 实现类,在进行操作的时候大多也是调用HashMap的方法,所以这篇文章会比较短。HashMap详细解释可以看上一篇:HashMap源码分析在业务中,如果我们有去重的需求,一般会考虑使用 HashSet 。在 Redis 提供的 Set 数据结构,不考虑编码的情况下,它是基于 Redis 自身的 Hash 数据结构实现的。这点,JDK 和 Redis 是相同的。2. 类图:实现 java.util.Set 接口。继承 java原创 2020-09-13 15:13:56 · 202 阅读 · 0 评论 -
LinkedHashMap源码分析
1. 概述:众所周知,HashMap 提供的访问,是无序的。而在一些业务场景下,我们希望能够提供有序访问的 HashMap 。那么此时,我们就有两种选择:TreeMap :按照 key 进行排序。LinkedHashMap :按照 key 的插入和访问的顺序。LinkedHashMap ,在 HashMap 的基础之上,提供了顺序访问的特性。而这里的顺序,包括两种:按照 key-value 的插入顺序进行访问。按照 key-value 的访问顺序进行访问。通过这个特性,我们实现基于原创 2020-09-13 15:15:57 · 174 阅读 · 0 评论
分享