摘要: 前言 之前也了解到过一致性哈希算法,但是没有用go实现过,刚好最近看GeeCache,动手实现下一致性哈希算法 正文: 我们先来想下一致性哈希算法的数据结构含有哪些内容: 1.map 用来存储虚拟节点对应的真实节点,是一个映射表 2.hash 哈希函数 3.key 哈希环,存储所有虚拟节点 4.re 阅读全文
posted @ 2022-08-05 16:22 要坚持的girl 阅读(227) 评论(0) 推荐(1) 编辑
摘要: 前言 最近复习操作系统,看到了lru算法,就去网上搜索下,因此发现了GeeCache,顺手写了一遍。研究下lru算法的实现。 正文: lru使用map+链表实现。map里面存储了key以及其对应的链表节点。当我们根据某个key访问缓存值的时候,可以经过map快速定位到该链表节点。从而获取值 下面我们 阅读全文
posted @ 2022-08-05 14:13 要坚持的girl 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 前言 大晚上的,老是刷到有关pprof的文章,忍不住看了几篇文章...写个学习笔记记录下~ 正文: 1.pprof是什么? pprof是go内置的性能调优工具,可以借助一些工具以图形化的方式展示出来某些接口占用cpu资源的详情。 2.专项用途: 1.cpu 主要测试占用cpu资源比较多的函数或者数据 阅读全文
posted @ 2022-08-01 21:46 要坚持的girl 阅读(983) 评论(0) 推荐(1) 编辑
摘要: 前言: 今天用for range写了个demo,发现无论怎么运行,最后的结果是一直是最后一个。自己思考过后,又和其他伙伴商量了下,最终算是解决了自己的疑惑。 正文: 下面我们来看个例子: m := make(map[int]*int) arr := []int{1, 2, 3, 4, 5} for 阅读全文
posted @ 2022-08-01 20:07 要坚持的girl 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 前言 做了几道关于defer的测试题,吓了一大跳,感觉自己之前的理解有些问题,所以写下这篇博客,加深下印象。 正文: 多个defer的执行顺序: 先进后出,类似于栈的特性。 下面我们来测试下: 1.defer 与 panic: func deferAndPanic() { defer func() 阅读全文
posted @ 2022-08-01 14:42 要坚持的girl 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 写在前面 本系列的文章是博主边学边记录的,可能不是特别的正确,因为会加上博主自己的理解,仅供参考。 正文: 为了能够将用户程序装入内存,必须为它分配一定大小的内存空间。常见的分配方式有: 1.连续分配 连续分配方式是最早出现的一种存储器分配方式,该分配方式为一个用户程序分配一个连续的内存空间。常见的 阅读全文
posted @ 2022-07-29 10:37 要坚持的girl 阅读(3246) 评论(0) 推荐(0) 编辑
摘要: 写在前面 本系列的文章是博主边学边记录的,可能不是特别的正确,因为会加上博主自己的理解,仅供参考。 正文 一、文件的物理组织方式 目前常用的外存组织方式有: 1.连续组织方式 为每个文件分配一篇连续的磁盘空间,称为连续组织方式。 2.链接组织方式 在对文件采取链式组织方式时,可以为每个文件分配不连续 阅读全文
posted @ 2022-07-27 20:42 要坚持的girl 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 写在前面 本系列的文章是博主边学边记录的,可能不是特别的正确,因为会加上博主自己的理解,仅供参考。 正文: 1.文件目录 文件目录是一种数据结构,用于标识系统中文件及其物理地址,供检索的时候使用。对于目录的管理有如下要求: 1.实现按名存取 2.提高对目录的检索速度 3.文件共享 在多用户系统中,应 阅读全文
posted @ 2022-07-27 16:25 要坚持的girl 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 前言 之前面试的时候,面试官问我了解过https的双向认证吗?当时,的确不理解。不过没关系,现在就来补上。 正文 1.单向认证 还是有必要先说下单向认证,单向认证是我刚开始接触https的时候就了解到的。下面看一下执行流程图 (图是网上找的) 再用文字描述下: 首先建立链接 -> 验证服务端身份 - 阅读全文
posted @ 2022-07-27 11:13 要坚持的girl 阅读(1642) 评论(0) 推荐(0) 编辑
摘要: 写在前面 本系列的文章是博主边学边记录的,可能不是特别的正确,因为会加上博主自己的理解,仅供参考。 正文: 1.磁盘的访问时间 为了读或者写,磁头必须能移动到所指定的磁道上,并等待所指定的扇区的开始位置旋转到磁头下,然后开始读取或者写入数据。那么可以把对磁盘的访问时间分为以下三个部分: 1.寻道时间 阅读全文
posted @ 2022-07-26 09:53 要坚持的girl 阅读(3325) 评论(0) 推荐(0) 编辑