摘要: Spring 最重要的概念是 IOC 和 AOP,本文采用的源码版本是 5.2.8.RELEASE 为了降低难度,本文所说的所有的内容都是基于 xml 的配置的方式,实际使用已经很少人这么做了,至少不是纯 xml 配置,不过从理解源码的角度来看用这种方式来说无疑是最合适的。 IOC 总体来说有两处地 阅读全文
posted @ 2020-11-17 00:40 lqq930819 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 一、什么是事务 事务是指的是一个业务上的最小不可再分单元,通常一个事务对应了一个完整的业务,而一个完整的业务需要批量的DML语句共同联合完成。一般,同一个事务中的SQL语句是保存到数据库中的同一个Transaction对象中,原因是Transaction具有一致性的特征,也就是说事务中如果有任何一条 阅读全文
posted @ 2020-11-02 10:22 lqq930819 阅读(823) 评论(0) 推荐(0) 编辑
摘要: Mybatis源码分析流程: 执行分解: 1、读取Mybatis配置文件信息 2、获取SqlSessionFactory a.使用XMLMappperBuilder解析Mybatis配置文件,封装成Environment对象,再把Environment对象设置给Configuration对象; b. 阅读全文
posted @ 2020-10-31 16:25 lqq930819 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1.1 责任链模式定义 责任链模式为请求创建一个接收者对象链,每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么它会把请求传给下一个接收者,依此类推 责任链模式避免了请求的发送者和接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连成一条链,并且沿着这条链传递请求,直到有对 阅读全文
posted @ 2020-10-30 01:13 lqq930819 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 什么是外观模式 外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口。这种类型的设计模式属于结构性模式。为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。 外观模式应用场景 简单来说,该模式就是把一些复杂的流程封装成一个接口供给外 阅读全文
posted @ 2020-10-25 15:17 lqq930819 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 异步回调流程 解析报文(验证签名) 日志收集(相同) 如果解析报文成功的话,修改支付状态为已经成功.返回不同的支付结果 模版方法设计模式 提前定义好整体的骨架,不同的行为让子类实现,相同的行为直接定义在抽象类中复用。 相同的行为就定在抽象方案中,不同的行为的实现子类实现 核心设计要点 Abstrac 阅读全文
posted @ 2020-10-25 15:01 lqq930819 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 什么是代理模式 为其他对象提供一种代理以控制对这个对象的访问。 为什么使用代理模式 中介隔离:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。 开闭原则,增加功能:代理类除了是客户类和委托类的中介之 阅读全文
posted @ 2020-10-23 11:22 lqq930819 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 1.使用top查看cpu使用情况找到占用cpu过高的pid; 2.使用jmap命令: 1).jmap -heap pid:输出当前进程 JVM 堆新生代、老年代、持久代等请情况,GC 使用的算法等信息 2).jmap -histo:live {pid} | head -n 10 输出当前进程内存中所 阅读全文
posted @ 2020-09-09 12:45 lqq930819 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 业务场景: 即通过hash的方式来存储每一天用户订单次数。那么key = order_20200102, field = order_id, value = 10。那么如果一天有百万千万甚至上亿订单的时候,key后面的值是很多,存储空间也很大,造成所谓的大key。 大key的风险:1.读写大key会 阅读全文
posted @ 2020-09-06 01:29 lqq930819 阅读(1102) 评论(0) 推荐(0) 编辑
摘要: 需求分析: 主要存储第三方的id数据,其中包括各媒体cookie与自身cookie(以下统称supperid)的mapping关系,还包括了supperid的人口标签、移动端id(主要是idfa和imei)的人口标签,以及一些黑名单id、ip等数据。 数据特点: 媒体自身的cookie长短不一; 需 阅读全文
posted @ 2020-09-06 01:07 lqq930819 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 1.RocketMQ的原理与架构: 一.作为消息中间件的架构图:(摘自RocketMQ官网) 官网地址:http://rocketmq.apache.org/docs/quick-start/ 架构原理: 说明:NameServer类似于注册中心概念(相当于kafka的zk),但是这个跟zk有点 不 阅读全文
posted @ 2020-04-10 17:38 lqq930819 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 1.实现原理:kafka依赖于zk(zookeeper),将所有的kafka服务器注册到zk服务器上,并建立长连接(zk保存着kafka的broker节点信息) 2.核心组件:broker、topic、partition(分区)、producer、consumer以及message broker:就 阅读全文
posted @ 2020-04-10 16:44 lqq930819 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 1.概念:也就是在多个相互信任的服务器中,只要一个系统进行了登录,其他的信任系统不需要登录,直接进行访问 2.核心思想(基于filter、cookie以及token技术) 3.原理: 1).当客户端进行访问,filter将拦截所有的请求,首先从cookie当中获取token信息值(通过登录保存的前缀 阅读全文
posted @ 2020-04-09 00:16 lqq930819 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 以往安装流程请查看:https://www.cnblogs.com/lq-93/p/11824039.html,开始安装。。。。。 1.查看docker是否安装成功: 2.docker安装jenkis docker search jenkis 3.下载jenkis docker pull jenki 阅读全文
posted @ 2019-11-26 20:31 lqq930819 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 前期安装文档:https://www.cnblogs.com/lq-93/p/11828626.html Harbor的作用: 开发提交代码至gitlab容器中,Jenkins拉取代码构建镜像上传到Harbor中,然后docker主机从Harbor中拉取镜像,并根据指令运行容器。 一、安装: 1.下 阅读全文
posted @ 2019-11-15 11:04 lqq930819 阅读(993) 评论(1) 推荐(0) 编辑
摘要: 说明:前期的安装,请转向https://www.cnblogs.com/lq-93/p/11824039.html (4).查看gitlab镜像是否启动成功 docker inspect 容器id docker ps -a 查看运行的docker镜像 (5).测试地址:http://IP:port 阅读全文
posted @ 2019-11-10 00:14 lqq930819 阅读(831) 评论(0) 推荐(0) 编辑
摘要: 一、各个组件的功能描述: Docker 是一个开源的应用容器引擎。 Jenkis 是一个开源自动化服务器。 (1).负责监控gitlab代码、gitlab中配置文件的变动; (2).负责执行镜像文件的构建、上传与下载; (3).通过Rancher插件系统构建stack/service; GitLab 阅读全文
posted @ 2019-11-09 02:11 lqq930819 阅读(1956) 评论(0) 推荐(0) 编辑
摘要: 1.什么是分布式锁 要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁、进程锁。 (1)线程锁:主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如synchroni 阅读全文
posted @ 2019-03-05 12:24 lqq930819 阅读(215) 评论(0) 推荐(0) 编辑