摘要:MVCC原理分析 1:什么是MVCC ​ MVCC是英文名称Multi Version Concurrency Control 的简称,就是多版本并发控制。 MVCC可以说实现,读不加锁,读写不冲突。这个可以大大的提高Mysql的性能。 2:MVCC解决了什么问题 多事务的并发进行一般会造成以下几个 阅读全文
posted @ 2021-05-01 15:12 一懒众衫小QAQ 阅读(128) 评论(0) 推荐(0) 编辑
摘要:设计模式之-策略模式 ​ 开发中经常碰到很多同一入口,但是不同场景的业务需求,很多人都是if-else一把梭。这样开发是简单,但是代码很丑,业务耦合严重。也很不利于后期代码的维护,久而久之,代码就变成了"屎山",无人敢动。 ​ 测试模式就是可以解决少写if-else,让业务解耦,便于业务的拓展,逻辑 阅读全文
posted @ 2021-02-01 22:32 一懒众衫小QAQ 阅读(42) 评论(0) 推荐(0) 编辑
摘要:索引布尔表达式 问题背景 ​ 广告推荐引擎中,广告主会对广告投放做一下定向要求(比如:性别,年龄,城市等),这就需要通过用户画像特征从广告库里面检索出符合定向要求的广告。 ​ 当广告数量少的时候,我们可以迭代每个广告做比对。 Attributes = list<Attribute> // 用户的流量 阅读全文
posted @ 2021-07-17 14:31 一懒众衫小QAQ 阅读(11) 评论(0) 推荐(0) 编辑
摘要:spring的拓展点之-InitializingBean 一:有什么用 InitializingBean是spring提供的一个初始我们bean熟悉的方法,我们可以直接看看源码注释。 我们看这个接口上的注释大概意思就是: 当我们需要初始化我们bean中的一些参数,或者校验一些参数的时候的时候就可以通 阅读全文
posted @ 2021-06-23 23:56 一懒众衫小QAQ 阅读(12) 评论(0) 推荐(0) 编辑
摘要:kafka特性和集群 一: kafka特性介绍 Topic 让我们首先深入了解下Kafka的核心概念:提供一串流式的记录 Topic 就是数据主题,是数据记录发布的地方,可以用来区分业务系统。Kafka中的Topics是多订阅者模式,一个topic可以拥有一个或者多个消费者来订阅它的数据。 对于每一 阅读全文
posted @ 2021-06-20 15:39 一懒众衫小QAQ 阅读(17) 评论(0) 推荐(0) 编辑
摘要:LRU算法 简介 ​ LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的数据予以淘汰。 ​ 很多缓存中采用这种算法。 一:LinkHashMap实现LRU算法 LinkedHashMap 会对数据使用来排序,这样服务LRU算法的最少使 阅读全文
posted @ 2021-06-14 20:17 一懒众衫小QAQ 阅读(68) 评论(0) 推荐(0) 编辑
摘要:Springboot启动tomcat原理 一:思考 ​ 记得以前SSM项目时候,需要把项目打包到tomcat的webApps目录下。然后启动tomcat。 现在springboot项目直接打包成jar宝就可以启动tomcat了。Springboot为了实现这个功能做了那些操作,和设计呢? 二:源码探 阅读全文
posted @ 2021-06-05 21:11 一懒众衫小QAQ 阅读(27) 评论(0) 推荐(0) 编辑
摘要:zookeeper实现分布式锁 一:zookeeper分布式锁原理 1:原子性 Zookeeper有写操作有原子性,利用这个特性可以实现分布式锁。 对于来自客户端的每个更新请求,ZooKeeper 具备严格的顺序访问控制能力。 为了保证事务的顺序一致性,ZooKeeper 采用了递增的事务 id 号 阅读全文
posted @ 2021-05-29 14:19 一懒众衫小QAQ 阅读(20) 评论(0) 推荐(0) 编辑
摘要:Redis集群策略分析 一:主从模式 结构图 特点 1:主负责写,从负责读。这种方式的话应对比较大的QPS,QPS增大只需要增加slave节点数量就可以了。 2:无法保证强一致性,主从同步存在延迟,只能保证最终的一致性。 3:master宕机的情况下,无法写入,没有办法自动恢复。 二:哨兵模式 结构 阅读全文
posted @ 2021-05-24 00:43 一懒众衫小QAQ 阅读(12) 评论(0) 推荐(0) 编辑
摘要:从源码看公平锁和非公平锁得区别 一:理论解释 公平锁:ReentrantLock通过构造器参数设置为true就是公平锁。 非公平锁:synchronized 关键字,ReentrantLock默认就是非公平锁。 公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是队列的第一位 阅读全文
posted @ 2021-05-19 23:48 一懒众衫小QAQ 阅读(20) 评论(0) 推荐(0) 编辑
摘要:【spring源码解读】spring加载流程refresh之prepareBeanFactory(beanFactory) 一:介绍prepareBeanFactory spring启动的核心流程都是在org.springframework.context.support.AbstractAppli 阅读全文
posted @ 2021-05-16 14:58 一懒众衫小QAQ 阅读(36) 评论(0) 推荐(0) 编辑
摘要:Synchronized关键字原理,和锁的膨胀过程 一:Synchronized关键字介绍 synchronized是Java中的关键字,用于线程的同步。可以用在三个地方。 ​ 1:同步实例方法,锁是当前实例对象; ​ 2:同步类方法,锁是当前类对象; ​ 3:同步代码块,锁是括号里面的对象; 二: 阅读全文
posted @ 2021-05-15 23:38 一懒众衫小QAQ 阅读(21) 评论(0) 推荐(0) 编辑