-
Seata 分布式事务原理源码分析(一)UndoLog
Seata 分布式事务原理源码分析(一)UndoLog什么是UndoLog?UndoLog 是 MySQL 中比较重要的事务日志之一,顾名思义是一种用于撤销回退的日志,在事务没提交之前,MySQL会先记录更新前的数据到 UndoLog 日志文件里面,... -
Spring源码解析(五) 解决循环依赖问题
前言什么是依赖注入?123456789@Componentpublic class A { private B b;}@Componentpublic class B { private A a;}... -
Spring源码解析(四) 初始化Bean工厂
前言初始化Bean工厂 这个名字起的好像有点大,在前面创建了Bean工厂后填充了一些属性,创建了BeanDifinition但是一直没有注入Bean。 本章Bean就将正式入住了。 建议结合 “Bean的生命周期” 这个问题一起思考 抽象流程源码... -
Spring源码解析(三) 注册Bean处理器对象
前言前面讲了 BeanFactoryPostProcessor本文讲 BeanPostProcessor,两种总给人一种很像的感觉,首先我们先总结一下两者的区别(可能不全,逐步补充)。 BeanFactoryPostProcessor Bea... -
Spring源码解析(二) 调用Bean工厂处理器对象
前言BeanFactoryPostProcessor 是 Spring 中很重要的一种机制,本文主要介绍了 BeanFactoryPostProcessor 的注册与执行。 该步骤相比较创建 BeanFactory并注册 BeanDefinition... -
Spring源码解析(一) 创建Bean工厂
前言12ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");User userEntity ... -
Redis数据结构源码解析(七) 整数集合
概念整数集合(intset)是一个有序的、存储整型数据的结构。 关键字:有序的、整型的 conding决定了的element的长度,对应关系如下 基本结构intset12345678typedef struct intset { ... -
Redis数据结构源码解析(六) 快速列表
前言在前面分别介绍了:双向链表和压缩列表,两者作为老版本中List类型的底层实现,但是在3.2版本后被本文主角取代。 基于两者的优劣,衍生了本文的主角——快速列表 概念quickList 实际上是 zipList 和 linkedList 的混合体,... -
Redis数据结构源码解析(五) 双向链表
前言在Redis3.2版本之前,List 类型的实现是由:压缩列表+双向链表实现的,在3.2版本之后取缔了双向链表。 取缔的原因也很简单,在压缩列表中有讲到。 基本结构其实双向链表还是很常见的,也没什么不同就是首尾相接的一个个节点。 listNode... -
Redis数据结构源码解析(四) 压缩列表
结合Java对比Redis的压缩列表说到Java中的列表,我们可能会快想到 ArrayList和 LinkedList,他们俩的区别在于一个是数组实现一个是链表实现。对于数组和链表都有各自的优劣。 回到Redis的列表同样也可以使用数组和列表去实现,...
♥ Do have faith in what you're doing.