![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer
文章平均质量分 76
祁_z
这个作者很懒,什么都没留下…
展开
-
布隆过滤器(Bloom Filter)
Bloom Filter 原理 下面来分析下它的实现原理。 官方的说法是:它是一个保存了很长的二级制向量,同时结合 Hash 函数实现的。 听起来比较绕,但是通过一个图就比较容易理解了。 如图所示: 首先需要初始化一个二进制的数组,长度设为 L(图中为 8),同时初始值全为 0 。 当写入一个A1=1000的数据时,需要进行 H 次hash函数的运算(这里为 2 次);与 HashMap 有点类似,通过算出的HashCode与 L 取模后定位到 0、2 处,将该处的值设...转载 2020-12-18 09:49:53 · 260 阅读 · 1 评论 -
红黑树结构原理
基本特征 每个节点不是红色就是黑色 不可能有连在一起的红色节点 每个红色节点的两个子节点都是黑色 根节点都是黑色 红黑树变换规则 改变节点颜色 左旋 右旋 红黑树变换规则 变颜色的情况:当前节点父亲是红色,且它的祖父亲节点的另一个子节点也是红色(叔叔节点): 将父亲节点设置为黑色 将叔叔节点设为黑色 将祖父也就是父亲的父亲设为红色 把指针定义到祖父节点设为当前操作 左旋:当父亲节点为红色情况,叔叔的节点为黑色的情况,且当前的节点是右子树,左旋转以父节点作为左旋; ..原创 2021-01-21 22:33:23 · 178 阅读 · 0 评论 -
类的加载顺序
A类 继承B类 1. B类 - static变量 2. B类 - static方法 3. A类 - static变量 4. A类 - static方法 5. B类 - 构造方法 6. A类 - 构造方法 总结:父类优先,static优先,构造最后。 父类的静态static字段——>父类静态static代码块——>子类静态static字段——>子类static静态代码块——> 父类成员变量(非静态字段)——>父类非静态代码块——>父类构造器——>子.原创 2020-06-07 10:00:10 · 296 阅读 · 0 评论 -
支付回调中使用mq解决分布式事务问题
MQ:rabbitMQ 解释: 1.支付回调中(支付成功),修改预支付中支付字段为已支付前,先进行查询判断是否已经修改为已支付状态, 如若是已支付状态,直接返回支付成功状态给第三方支付平台(后边代码就不会执行,就不会出现幂等性问题),反之执行(1)修改支付状态(2)修改积分服务增加用户积分。 2.如若在调用完积分服务后程序出现错误,就会出现:支付状态回滚至未支付,积分反倒是增加了...原创 2020-03-01 15:10:08 · 720 阅读 · 0 评论 -
SpringMVC的运行流程
SpringMVC的运行流程 前端控制器 -DispatcherServlet 处理器映射器 -HandlerMapping 处理器适配器 -HandlerAdapter 视图解析器 -ViewReslover 1. 用户发送请求至前端控制器 2. 前端控制器收到请求调用处理器映射器。 3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(...原创 2019-04-17 14:58:39 · 136 阅读 · 0 评论