摘要: 背景 作为开发人员,在代码交付QA前,为了保证交付质量和代码正确性,一般对代码进行单元测试。单测一般由Mock和断言两部分组成,大部分情况下,我们会针对要测试类的成员对象方法调用的返回值进行Mock,然后通过断言去判断方法的逻辑是否符合预期。但是一些情况下,我们会发现一些代码的返回值是Void这样的 阅读全文
posted @ 2021-10-13 21:35 M104 阅读(1120) 评论(0) 推荐(0) 编辑
摘要: 背景 从软件开发到正式上线一般经过开发、测试、上线三个大流程,但是每个流程都应该有一定的流程规范机制。没有规范,很容易导致线上事故。此外,也易导致维护难,代码可读性差等问题。针对研发方面主要可能存在以下几个方面的规范,注意规范不是不变的下面的部分规范是个人目前认为比较合理的一种实践方案,欢迎提出建议 阅读全文
posted @ 2021-10-06 16:31 M104 阅读(883) 评论(0) 推荐(3) 编辑
摘要: 一、背景 随着需求的迭代,需求增加的同时,有可能会伴随着一些功能的下线。如果不对系统已经不用的代码进行梳理并删除不需要的代码,那么就会增加系统维护成本以及理解成本。但经历比较长的迭代以及系统交接,可能有些代码并不确定是否能够删除,因此基于此困境基于Jacoco对代码进行分析,对系统做“瘦身”。 二、 阅读全文
posted @ 2021-10-05 21:54 M104 阅读(758) 评论(2) 推荐(0) 编辑
摘要: 数据持久化 RDB持久化 RDB持久化通过Save或者BgSave命令来触发,其中Save命令使用服务器进程会阻塞客户端的读写命令,而BgSave命令则是派生了一个子进程去处理保存的操作,客户端在这期间仍然可以进行读写操作。 RDB和AOF同时开启的情况下,服务器会优先读取AOF文件,如没有开启AO 阅读全文
posted @ 2021-09-08 12:47 M104 阅读(33) 评论(0) 推荐(0) 编辑
摘要: Redis数据库 Redis将数据库结构保存在RedisServer数据结构中的db数组中,数组大小由RedisServer结构中的dbnum决定,dbnum的默认大小为16。结构如下: class RedisServer { int dbnum; RedisDb[] db; } 而对于客户端而言, 阅读全文
posted @ 2021-09-07 20:24 M104 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 概述 Redis并没有使用基础数据结构去实现键值数据库,而是基于数据结构封装了一个个对象。 类型和编码 由于Redis是键值数据库,所以每次存储数据时,至少包含两个对象,即K、V对应的对象。其数据结构如下所示 class RedisObject{ // 类型 int type; // 编码 int 阅读全文
posted @ 2021-09-07 20:21 M104 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 看书小技巧:看前看看豆瓣评分,虽然不能完全参考,但能避免一些写的很晦涩的书。 1.Spring揭秘。虽然是基于Spring2的书籍但书的编排很好,豆瓣评分9.1,个人认为最好的Spring源码中文书籍,踩过坑后的结论 2.MySQL是怎样运行的、MySQL技术内幕:InnoDB存储引擎。前者由浅入深 阅读全文
posted @ 2021-09-01 20:09 M104 阅读(39) 评论(0) 推荐(0) 编辑
摘要: SDS SDS是Redis中String的底层数据结构,数据结构如下,SDS保留了传统的C字符串表达方式即数组的最后一个元素是'/0'结尾。此外还添加了两个字段len和free,其中len表示字符串长度,free代表空闲空间。 class sds { int len; int free; char[ 阅读全文
posted @ 2021-09-01 16:34 M104 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1.简介: Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 2.反向代理 (1)正向代理:例如,通过代理服务器(VPN等)访问谷歌等网站,即需要提前配置第三方代理代理服务器进行访问,而非直接访问称为正向代理。 如图,客户端提 阅读全文
posted @ 2019-12-19 14:10 M104 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 哈希冲突的产生原因 哈希是通过对数据进行再压缩,提高效率的一种解决方法。但由于通过哈希函数产生的哈希值是有限的,而数据可能比较多,导致经过哈希函数处理后仍然有不同的数据对应相同的值。这时候就产生了哈希冲突。 产生哈希冲突的影响因素 装填因子(装填因子=数据总数 / 哈希表长)、哈希函数、处理冲突的方 阅读全文
posted @ 2019-11-26 16:43 M104 阅读(43668) 评论(4) 推荐(3) 编辑