11 2021 档案
摘要:背景:我们的商家端有个商品删除接口,某个时间段,突然被大量访问,经过调查发现,是有人通过脚本来刷我们的接口,因为正常的接口只要获取到登录的token就可以不断的调用接口: 现在我们的思路是使用令牌限流方法,令牌就是一个UUID 通过上图知道,对方要刷我们接口,必须知道需要先调用获取token的接口,
阅读全文
摘要:1.bean的生命周期:Class-》推断构造器-》实例化-》属性赋值-》初始化-》aop-》bean 2. 单例bean和单例模式的区别:单例模式只会有一个实例对象,单例Bean可以有多个实例对象,但一个beanName只能对应一个实例对象 3.@Autowried注解:先byType-》在byN
阅读全文
摘要:1.copyOnWrite思想,可以保证读写高并发,同时使用阻塞队列和单线程来保证数据一致性
阅读全文
摘要:说到分布式锁,我们都会想到setNx命令,存在就不更新,不存在就更新成功,根据这个命令,看如下代码有啥问题? 1.上面的分布式锁实现会出现的问题: 如果代码执行到减库存的操作,此时服务挂了,如断电了,那么就会导致死锁,其他线程永远都进不来了 解决方案:加个过期时间,如加了10s 2. 上面加了过期时
阅读全文
摘要:在了解volatile的原理前,我们先来看个示例代码: public class Visualable { public static boolean initFlag=false; public static void main(String[] args) throws InterruptedE
阅读全文
摘要:一. 啥是索引: 索引是排好序的数据结构。 这里关键是有序,数据结构 二.索引的结构 1. 索引为何不用二叉树结构 原因:当索引字段递增时,如主键索引,二叉树会退化成一个链表,如果是数据有几百上千万,那链表就会很长,查询数据如果在链表最末尾,那就相当于全表扫描了:如图: 2. 索引为何不用红黑树,红
阅读全文