摘要: TCP可靠机制 序列号 TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。 校验和 TCP 将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段。 TCP 的接 阅读全文
posted @ 2022-01-21 12:13 moon_orange 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 图的存储 存储一般使用邻接矩阵和邻接表两种方式。邻接矩阵中,g[i][j]表示节点i指向节点j的一条有向边。邻接矩阵需要O(n * n)的空间,因此我们常使用邻接表。 ps:一般稠密图用邻接矩阵,稀疏图用邻接表。稠密图中边的数量是节点个数的次方,也就是边数量远远大于节点数量。 邻接表是数组+链表的形 阅读全文
posted @ 2022-01-21 12:12 moon_orange 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 原始GC算法——标记删除 为去除STW所做的努力——三色标记 三色标记的优化——混合三色标记 阅读全文
posted @ 2022-01-19 21:32 moon_orange 阅读(37) 评论(0) 推荐(0) 编辑
摘要: B树与B+树 首先,索引是一种数据结构,它的目的是加速数据查找效率,具备高效查找效率的数据结构都可以作为索引。比如通过新华词典查汉字,会先通过目录查偏旁部首,然后会得到目标汉字所在页数。这里的目录就是一种索引。 在数据库中,大部分数据是存于磁盘的,我们都知道磁盘随机读写效率很差,因此需要更好的存储方 阅读全文
posted @ 2022-01-16 00:00 moon_orange 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 是什么是事务 事务是数据库中一些列操作的集合,这个集合是按顺序逐个执行的。在mysql中,保证数据具备ACID特性,这种特性使得事务使用起来非常安全和方便。比如银行转账操作,使用事务就可以保证转账结果的正确,不同转账之间的隔离,转账过程中发生错误的回滚,以及机器崩溃的现场恢复。可以在99.99%的情 阅读全文
posted @ 2022-01-15 17:45 moon_orange 阅读(1282) 评论(0) 推荐(0) 编辑
摘要: hash算法 对于整数hash来说,我们常用的是取余操作,碰到字符串,是无法直接进行取余的,这需要对字符串的hash算法进行设计。首先是要把字符串转化为一个整数,然后再将其取余,获得最终的hash值。 对于一个字符串AABCD,我们把它看作是一个P进制的数字(AABCD)p,将其转化为10进制,公式 阅读全文
posted @ 2022-01-13 12:01 moon_orange 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 什么是堆 堆本质是一维数组,将完全二叉树的每个节点存入数组中,是一种比较特殊的存储形式,对于完全二叉树的第n个节点,那么其左孩子节点是第2n个,右孩子节点是第2n+1个,于是我们可以根据该特性将第n个节点放入下标为n的数组中,整棵树也就可以完全存入数组。访问孩子节点直接根据公式访问下标即可。 注意这 阅读全文
posted @ 2022-01-08 21:13 moon_orange 阅读(391) 评论(0) 推荐(1) 编辑
摘要: 并查集的用途 顾名思义,并查集主要的作用就是用来处理集合的合并与集合元素的查找(判定元素是否在该集合中),其合并和查找操作时间复杂度可以近似看作O(1)。并查集其实是一种“使用树存储集合”的思想,树的root节点是整个集合的标志,区别不同集合的方式就是判断树的root节点是否相同。 左边的树的roo 阅读全文
posted @ 2022-01-05 18:38 moon_orange 阅读(89) 评论(0) 推荐(0) 编辑
摘要: union union和结构体的语法类似,但是其成员有 “覆盖” 的特性,整个union占用的内存大小为其最大成员的大小。例如: #include <stdio.h> union data{ int n; char ch; short m; }; int main(){ union data a; 阅读全文
posted @ 2022-01-05 16:48 moon_orange 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 语法 for-range golang中不能在for-range中将迭代器赋值。 内存泄漏 Slice slice的截取是会造成短暂性内存泄漏的,比如a := b[:1],两者会引用相同的底层数组,只有当a或者b扩容时,才会引发底层数组的重新分配,a和b才会引用不同的内存块。因此需要中间值进行替代: 阅读全文
posted @ 2022-01-05 01:34 moon_orange 阅读(86) 评论(0) 推荐(0) 编辑