Java
文章平均质量分 77
nero_claudius
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ConcurrentHashMap源码解析——基于JDK1.8
ConcurrentHashMap源码解析——基于JDK1.8 前言 这篇博客不知道写了多久,总之就是很久,头都炸了。最开始阅读源码时确实是一脸茫然,找不到下手的地方,真是太难了。下面的都是我自己阅读时的一些理解,由于能力有限,如有错误请指出。 先上一张JDK1.7的ConcurrentHashMap结构图 在 JDK 1.7 版本及之前的版本中 ConcurrentHashMap 为了解决 H...原创 2019-12-29 15:28:16 · 389 阅读 · 0 评论 -
HashSet源码解析——基于JDK1.8
前言 HashSet 是一个不允许存储重复元素的集合,它的实现比较简单,只要理解了 HashMap,HashSet 就水到渠成了。当然了解HashMap可以参考我的这篇文章 1 常量介绍 //使用HashMap来实现Set的相关功能 private transient HashMap<E,Object> map; // 将假value与map中的对象关联 // Dumm...原创 2019-12-14 16:09:37 · 245 阅读 · 0 评论 -
LinkedHashMap源码解析——基于JDK1.8
前言 LinkedHashMap继承自HashMap。和HashMap不同的是,它维护一条双向链表,解决了遍历顺序和插入顺序一致的问题。并且还对访问顺序提供了相应的支持。因为LinkedHashMap的很多实现是基于HashMap实现的,所以如果要读懂LinkedHashMap还是需要先了解HashMap。可以参考我的这篇文章 /** * 指向双向链表的头结点(最老的结点) ...原创 2019-12-13 22:30:12 · 351 阅读 · 0 评论 -
HashMap源码解析——基于JDK1.8
前言 HashMap数据结构由数组和链表(超过一定数量转换为红黑树)组成,在进行增删查等操作时,首先要定位到元素的所在表的位置,之后再从链表中定位该元素。具体找到表下标的方法是(n - 1) & hash,其中n代表表的长度。 HashMap数据结构如下(确定下标用的是%取余的方式): 1 常量介绍 /** * 默认容量16 * The default ini...原创 2019-12-12 11:47:38 · 239 阅读 · 0 评论 -
LinkedList源码解析——基于JDK1.8
1 前言 1.1 常量 //链表的长度 transient int size = 0; /** * Pointer to first node.指向第一个结点 * Invariant(不变的): (first == null && last == null) || * (first.prev == null &...原创 2019-12-06 21:13:40 · 192 阅读 · 0 评论 -
ArrayList源码解析——基于JDK1.8
1 常量介绍 1.1 ArrayList常量 /** * 默认初始容量 * Default initial capacity. */ private static final int DEFAULT_CAPACITY = 10; /** * 用于空实例的共享空数组实例 * Shared empty array instan...原创 2019-12-05 22:02:59 · 184 阅读 · 0 评论 -
删除链表中重复的结点——Java实现
删除链表中重复的结点——Java实现 1 前言 刷题也刷了一段时间了,但是总是找不到写的东西,但就在今天,重新做这道JzOffer上的题,发现思路看着很简单,但是其中的细节倒是不少,错了很多次,所以想写下这道题一起学习一下。 2 题目 2.1 题目描述 删除链表中重复的结点 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2-...原创 2019-11-12 15:28:50 · 326 阅读 · 1 评论 -
Java动态代理&&源码分析
Java动态代理&&源码分析 要了解动态代理,肯定跳不过静态代理,下面将介绍一下静态代理 1 静态代理 1.1 继承 假设一个系统中有一个Person接口,你需要使用这个接口来实现你自己需要的实体类 Person接口 public interface Person { void show(); } 系统中出现了一个警察,那我就定义一个警察类实现Person接口 Polic...原创 2019-10-12 18:00:47 · 516 阅读 · 0 评论
分享