12 2018 档案

摘要:图片来自网络。 本来不想打字了,但是博客园有字数限制。。。 第一次 第一次 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。 第二次 第二次握手:服务器收到 阅读全文
posted @ 2018-12-28 09:11 JustDotNet 阅读(1526) 评论(0) 推荐(0)
摘要:二分查找 二分查找,是一种在有序数组中查找某一特定元素的搜索算法。 将要查找的值和数组的中值进行比较,若小于中值则在中值前 面找,若大于中值则在中值后面找,等于中值时直接返回。 然后依次是一个递归过程,将前半部分或者后半部分继续分解。 实现 二分查找树 二叉查找树有以下特点 若任意节点的左子树不空, 阅读全文
posted @ 2018-12-18 13:20 JustDotNet 阅读(351) 评论(0) 推荐(0)
摘要:Redis 简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写的基于内存的可持久化的Key-Value数据库。 Redis的数据类型 string,li 阅读全文
posted @ 2018-12-17 16:09 JustDotNet 阅读(243) 评论(0) 推荐(0)
摘要:List的接口 从这些接口我们可以看到Go的list应该是一个双向链表,不然InsertBefore这种操作应该不会放出来。 然后我们再从源码看看List的结构 从这里证实了上面的猜想,这是一个双向链表 List的使用 10-14行往list写入1,2,3,4 16行遍历打印list 21-16行打 阅读全文
posted @ 2018-12-14 14:06 JustDotNet 阅读(2324) 评论(0) 推荐(0)
摘要:由于map在gorountine 上不是安全的,所以在大量并发读写的时候,会出现错误。 在1.9版的时候golang推出了sync.Map. sync.Map 通过阅读源码我们发现sync.Map是通过冗余的两个数据结构(read、dirty),实现性能的提升。 为了提升性能,load、delete 阅读全文
posted @ 2018-12-14 12:37 JustDotNet 阅读(1376) 评论(0) 推荐(0)
摘要:map和其他语言的hashmap是一样的,是一个kv的数据集合,是按照哈希算法得到k的一个整数,将v存到一个数组的k位。 阅读全文
posted @ 2018-12-12 20:56 JustDotNet 阅读(329) 评论(0) 推荐(0)
摘要:发现一篇好文。 https://studygolang.com/articles/15064 阅读全文
posted @ 2018-12-12 15:42 JustDotNet 阅读(130) 评论(0) 推荐(0)
摘要:最近经常在别人的文章中看到布隆过滤,看了一些应用场景,觉得这个东西还真是在特定的情况能发挥超常的作用。 比如我们在刷今日头条的时候,我们看完一段,然后下刷,头条就推荐一些新文章给我们。 头条有无数个文章,我们也读了一些文章,那么头条是怎么做到不推荐重复文章给我们的呢?这里就是用到布隆过滤的时候了。 阅读全文
posted @ 2018-12-11 15:57 JustDotNet 阅读(359) 评论(0) 推荐(0)
摘要:之前提到了把一个切片追加到另外一个切片时使用到了... 今天我们好好研究一下这三个点,博客写着写着又成了,回字有四种写法 ...第一种用法,可变长的参数 第9行代码定义了一个Sum函数,使用了一个可变长的参数numbers。我们在调用的时候,可以传入任意个指定类型的参数。 ...第二种用法,使用sl 阅读全文
posted @ 2018-12-11 14:51 JustDotNet 阅读(948) 评论(1) 推荐(0)
摘要:数组 同其他语言一样,数组是一些相同类型的元素的集合。数组声明 数组的类型为 n[T],其中 n 表示数组中元素的个数,T 表示数组中元素的类型。数组元素的个数 n 也是数组类型的一部分 这个代码的运行结果是:[1 3 4 5 6] 如果没有给所有的元素赋值,那么后面的元素会被赋予默认值。 在声明数 阅读全文
posted @ 2018-12-11 14:27 JustDotNet 阅读(409) 评论(0) 推荐(0)