ArrayList源码分析-jdk11 (18.9)

(ArrayList 源码分析-jdk11 (18.9)) 1.概述 ArrayList 是一种变长的集合类,基于定长数组实现。ArrayList 允许空值和重复元素,当往 ArrayList 中添加的元素数量大于其底层数组容量时,其会通过扩容机制重新生成一个更大的数组。另外,由于 ArrayLis ... »

跳跃表确定不了解下

redis源码分析系列文章 [Redis源码系列]在Liunx安装和常见API 为什么要从Redis源码分析 String底层实现——动态字符串SDS Redis的双向链表一文全知道 面试官:说说Redis的Hash底层 我:......(来自阅文的面试题) 前言 hello,大家好,周五见了。前面 ... »

双向链表都不懂,还说懂Redis?

目录 redis源码分析系列文章 前言 API使用 lpush左侧插入数据 rpush右侧插入数据 删除某个数据 修改某个数据 具体逻辑图 双向链表的定义 节点ListNode 整体架构 双向链表的实现 创建表头 清空表 添加元素到表头 添加元素到表尾 插入 删除 总结 redis源码分析系列文章 ... »

UI绘制流程及原理

一、绘制流程源码路径 1、Activity加载ViewRootImpl 2、ViewRootImpl启动View树的遍历 二、View绘制流程 1、measure (1)MeasureSpec是什么? 重写过onMeasure()方法都知道,测量需要用到MeasureSpec类获取View的测量模式 ... »

LinkedList源码分析:JDK源码分析系列

如果本文中有不正确的地方请指出由于没有留言可以在公众号添加我的好友共同讨论。 1.介绍 LinkedList 是线程不安全的,允许元素为null的双向链表。 2.继承结构 我们来看一下LinkedList的继承结构图: 代码实现: Cloneable实现克隆 Serializable序列化 List ... »

HashMap源码分析(一):JDK源码分析系列

正文开始 注:JDK版本为1.8 HashMap1.8和1.8之前的源码差别很大 目录 简介 数据结构 类结构 属性 构造方法 增加 删除 修改 总结 1.HashMap简介 HashMap基于哈希表的Map接口实现,是以key value存储形式存在。(除了不同步和允许使用 null 之外,Has ... »

并发容器之阻塞队列DelayQueue的使用案例及源码分析

原文连接:(http://www.studyshare.cn/blog-front//blog/details/1167/0 ) 一、队列及阻塞队列概念 1、队列:是一种特殊线性表,特殊之处在于操作是受限制的,只允许在表的前端进行删除操作,在表的后端进行插入操作。进行删除操作的端为对列头,进 行插入 ... »