纸上得来终觉浅,绝知此事要躬行。 前言 在之前的DRF源码分析对比原生Django介绍了二者的区别,最后分析得出DRF对原生的dispatch方法做了很多改进,本章就接着分析APIView下的dispatch到底做了那些事? 通过上次的分析主要分为以下几个模块: 请求模块 认证模块(本次不做介绍) ...
分类:
其他好文 时间:
2020-06-14 16:25:00
阅读次数:
56
是什么 leveldb内部实现的缓存 为什么要用 性能高于内嵌哈希表 学到什么 与(&)操作进行模运算 减少cache锁操作,可以分为多组cache 源码分析 LRUHandle 缓存中代表键值对的数据结构 // An entry is a variable length heap-allocate ...
分类:
数据库 时间:
2020-06-14 10:30:28
阅读次数:
63
Sentinel的选举机制在上面的文章我们提到过,Sentinel在主备倒换的过程中会使用is-master-down-by-addr命令来与其他Sentinel进行通信以取得其他Sentinel的投票。每个Sentinel实例都有被选举成领头Sentinel的机会,领头Sentinel会主导整个主节点下线进行主备倒换的过程。
分类:
其他好文 时间:
2020-06-14 09:16:15
阅读次数:
66
通过分析源码可以更好理解List<T>的工作方式,帮助我们写出更稳定的代码。 List<T>源码地址: https://github.com/dotnet/corefx/blob/master/src/System.Collections/src/System/Collections/Generic ...
分类:
Web程序 时间:
2020-06-13 23:22:08
阅读次数:
99
一、基本源码分析 1.寻找入口 Spring 的 AOP 是通过接入 BeanPostProcessor 后置处理器开始的 2.BeanPostProcessor BeanPostProcessor的体现在IOC源码分析的doCreateBean中,populateBean的后一句 Object e ...
分类:
编程语言 时间:
2020-06-13 13:23:29
阅读次数:
75
目录 两个问题 1、在Spring中,什么是Bean?跟对象有什么区别? 2、在创建对象前,Spring还做了其它什么事情吗? 创建对象的源码分析 1、finishBeanFactoryInitialization 2、preInstantiateSingletons 3、doGetBean 4、g ...
分类:
编程语言 时间:
2020-06-12 14:39:49
阅读次数:
93
对于commons pool就不作介绍了,文章分两部分:源码分析,例子。 源码分析 在Commons pool之中主要有几个概念: ObjectPool:提供所有对象的存取管理。 PooledObject:池化的对象,是对对象的一个包装,加上了对象的一些其他信息,包括对象的状态(已用、空闲),对象的 ...
分类:
Web程序 时间:
2020-06-11 16:55:39
阅读次数:
63
一: 2.0版本增加网络请求: //开始请求 - (void)start; //取消请求 - (void)cancel; 二: 增加网络请求后, 整体功能进行了优化 1: 下载器->SDWebImageDownloaderDelegate 新增了didFailWithError方法重载 2: 管理器 ...
分类:
Web程序 时间:
2020-06-11 13:19:08
阅读次数:
85
简介 Stack是一个栈,那就满足于后进先出(FILO)。 public class Stack<E> extends Vector<E> 该类继承自Vector,即其容器的数据类型是数据,拥有Vector的特性。在Vector源码分析有详细该类信息。 构造函数: public Stack() {} ...
分类:
其他好文 时间:
2020-06-11 12:03:31
阅读次数:
65
简介 LinkedList是以双向链表为数据结构的容器。它可以进行堆栈、队列、双端队列的操作。 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, ...
分类:
其他好文 时间:
2020-06-11 10:50:44
阅读次数:
55