码海

其他

你管这破玩意叫 B+ 树?

的记录就很简单了,只要先到目录页中定位它的起始页然后再依次查找即可,由于不管是目录页还是数据页里面都有槽,所以无论是定位目录页的页码还是定位数据页中的记录都是非常快的。
2021年8月27日
其他

51 张图助你彻底掌握 HTTP 协议

是一个协议,啥是协议?在日常生活中协议并不少见,比如我们租房时签订的租房协议,入职后和企业签订的劳动合同协议,「协」意味着至少有两人参与,「议」意味着双方要就某项条款达成一致,比如租房协议规定月付
2020年12月31日
其他

我是一个线程池

个核心线程在忙碌,一个核心线程空闲,可能很多人误以为这里既然有一个核心线程在空闲,那就把任务交给这个线程处理即可,不用再创建核心线程了,但实际上只要当前核心线程数少于当初设置的
2020年10月26日
其他

40张图看懂分布式追踪系统原理及实践

是在后台定时采样的,这不挺好的吗,为啥要实现强制采样呢。还是为了排查定位问题,有时线上出现问题,我们希望在预发上能重现,希望能看到这个请求的完整调用链,所以在预发上实现强制采样很有必要。所以我们对
2020年9月9日
其他

高性能网关设计实践

独出一格。「1.详尽的文档和测试用例」作为开源项目,文档和测试毫无疑问是其是否靠谱的关键,它的文档非常详细,作者把每个注意的点都写在文档上了,多数时候只要看文档即可,每一个测试案例都包含完整的
2020年7月15日
其他

6个半月,万粉达成,感谢大家!

上周日,公号粉丝正式破万!这个里程碑的日子确实值得纪念,心中也有挺多感慨,不吐不快。做过公号的都知道粉丝过万是一个挺大的门槛,如果迈过去,后面的路会相对容易一些,所以达成这个目标心里也是稍微松了一口气,简单记录下这一路的历程,希望对正在从事公号写作的同学以及读者有些启发。之前我在
2020年6月18日
其他

写公号半年,精品文章推荐

次很多人反馈动态规划较难理解,照样这篇为大家总结了动规的基本套路,按照套路去解题,相信对大家能少走不少弯路,这篇文章评价也蛮高的,强烈推荐!拜托,别再问我贪心算法了!
2020年5月31日
其他

巧用 Trie 树实现搜索引擎关键词提示功能

个搜索词,所以应该是用小顶堆)。这样就解决了,考虑以下现象:我们在输入搜索词的时候,搜索引擎给出的提示词可能并不是以用户输入的字符串为前缀的如图示:搜索引擎给出的搜索关键字并不包含有「brekfa」
2020年5月16日
其他

SQL 进阶技巧(上)

中,子查询的结果会产生一张新表,不过如果不加限制大量使用中间表的话,会带来两个问题,一是展示数据需要消耗内存资源,二是原始表中的索引不容易用到,所以尽量减少中间表也可以提升性能。
2020年5月8日
其他

搜索引擎背后的经典数据结构和算法

深造分词一般是根据现成的词库来进行匹配,比如词库中有「中国」这个词,用处理过的网页文本进行匹配即可。当然在分词之前我们要把一些无意义的停止词如「的」,「地」,「得」先给去掉。
2020年4月30日
其他

图文详解 DFS 和 BFS

2...实际上爬虫是深度优先与广度优先两种策略一起用的,比如在起始网页里,有些网页比较重要(权重较高),那就先对这个网页做深度优先遍历,遍历完之后再对其他(权重一样的)起始网页做广度优先遍历。总结
2020年4月15日
其他

拜托,别再问我什么是B+树 了

列)计算一个哈希码(上图散列表的位置),散列表里的每个元素指向数据行的指针,由于索引自身只存储对应的哈希值,所以索引的结构十分紧凑,这让哈希索引查找速度非常快!但是哈希索引也有它的劣势,如下:
2020年3月29日
其他

你说你会位运算,那你用位运算来解下八皇后问题吧

题,相信你看完肯定会有收获!本文将会从以下几个方面来讲解位运算什么是位运算,位运算常见操作位运算使用技巧简介巧用位运算解算法题什么是位运算,位运算常见操作
2020年3月23日
自由知乎 自由微博
其他

公号粉丝从 0 到 5000,我都做对了什么

月初才正式运营公号的,重启笔墨之时,我也看了网上很多人的观点,比如公号红利已过,涨粉太难,打开率太低,竞争太激烈了等等,我当初也是有一丝的担心,所以我本来是把今年的粉丝目标定为
2020年3月21日
其他

高性能短链设计

前言今天,我们来谈谈如何设计一个高性能短链系统,短链系统设计看起来很简单,但每个点都能展开很多知识点,也是在面试中非常适合考察侯选人的一道设计题,本文将会结合我们生产上稳定运行两年之久的高性能短链系统给大家简单介绍下设计这套系统所涉及的一些思路,希望对大家能有一些帮助。本文将会从以下几个方面来讲解,每个点包含的信息量都不少,相信大家看完肯定有收获短链有啥好处,用长链不香吗短链跳转的基本原理短链生成的几种方法高性能短链的架构设计注:里面涉及到不少布隆过滤器,snowflake
2020年3月15日
其他

拜托,别再问我贪心算法了!

个糖果的大小分别是s1,s2,s3,……,sm。除此之外,每个孩子对糖果大小的需求也是不一样的,只有糖果的大小大于等于孩子的对糖果大小的需求的时候,孩子才得到满足。假设这
2020年2月27日
其他

一文学会动态规划解题技巧

简单总结一下,最优子结构,状态转移方程,重叠子问题就是动态规划的三要素,这其中定义子问题的状态与写出状态转移方程是解决动态规划最为关键的步骤,状态转移方程如果定义好了,解决动态规划就基本不是问题了。
2020年2月16日
其他

垃圾回收-实战篇

采用并发回收时,年轻代小一点,年老代要大,因为年老大用的是并发回收,即使时间长点也不会影响其他程序继续运行,网站不会停顿5、仔细了解自己的应用,如果用了缓存,那么年老代应该大一些,缓存的
2020年2月9日
其他

刨根问底---一次 OOM 试验造成的电脑雪崩引发的思考

将其设置成守护线程,这样当主线程挂了,守护线程也会立即停止运行,原因嘛,也很简单,既然是守护线程,那被守护的线程都挂了,那守护线程也没存在的意义了
2020年2月8日
其他

看完这篇垃圾回收,和面试官扯皮没问题了

可以把它看作是当前线程执行的字节码的行号指示器,比如如下字节码内容,在每个字节码`前面都有一个数字(行号),我们可以认为它就是程序计数器存储的内容记录这些数字(指令地址)有啥用呢,我们知道
2020年1月26日
其他

优秀程序员必备的四项能力

20]...看到这些排序后的区间,想到了啥,二分查找就是在一组有序的数字中进行查找!是不是找到相似点了?这里给没听过二分查找的读者简单普及下啥是二分查找,小时候可能我们都玩过猜字游戏,在纸面上写一个
2020年1月11日
其他

【超详细】一文学会链表解题

}}入门到进阶:链表翻转接下来我们会重点看一下链表的翻转,链表的翻转可以衍生出很多的变形,是面试中非常热门的考点,基本上考链表必考翻转!所以掌握链表的翻转是必修课!什么是链表的翻转:给定链表
2020年1月5日
其他

我画了20张图,终于让女朋友学会了翻转链表

的空间必须是连续的,未使用的,所以在内存空间的分配上数组的要求会比较严格,如果内存碎片太多,分配连续的大空间很可能导致失败。而链表由于是非连续的,所以这种情况下选择链表更合适。
2019年12月29日
其他

递归从入门到进阶

在解递归的时候分析问题多采用从自上而下的分析方式,即问题要解决,只要底下的子问题解决完了即可,切勿将问题层层展开,这是典型的递归陷阱。
2019年12月23日
其他

一文学会排列组合

确实,相信很多人(包括我自己)都有类似的感慨,对某个知识点,看确实是看懂了,但如果真的再用同样的套路再去解一些带有同样解题思路,但稍加变形的题,往往会束手无策。对这种情况有啥好的解决办法吗?
2019年12月16日
其他

震惊!线上四台机器同一时间全部 OOM,到底发生了什么?

配置问题定位了,应该是就是这个配置导致的!(线程上升的时间点和发布时间点完全吻合!),于是先把这个新加的配置给干掉上线,上线之后线程数果然恢复正常了。那
2019年12月8日
其他

一文学会递归解题

{}2.寻找问题与子问题之前的关系 这两者之前的关系初看确实看不出什么头绪,但仔细看题目,一只青蛙只能跳一步或两步台阶,自上而下地思考,也就是说如果要跳到
2019年12月2日
其他

巧用递归解决矩阵最大序列和问题

这道题乍一看确实没什么头绪,无法像反转二叉树那样比较容易地看出使用递归的思路去解决,我们需要耐心地去分析,学会把问题分解,分解思路如下:求连续序列的最大值转化为如何求所有的序列
2019年11月5日