摘要:原文:https://blog.csdn.net/Tencent_TEG/article/details/103021226 提到hash,相信大多数同学都不会陌生,之前很火现在也依旧很火的技术区块链背后的底层原理之一就是hash,下面就从hash算法的原理和实际应用等几个角度,对hash算法进行一 阅读全文
posted @ 2019-11-15 11:36 sunsky303 阅读 (9) 评论 (0) 编辑
摘要:原文: https://bestswifter.com/hashtable/ 这篇文章由一个简单的问题引出: 有两个字典,分别存有 100 条数据和 10000 条数据,如果用一个不存在的 key 去查找数据,在哪个字典中速度更快? 有些计算机常识的读者都会立刻回答: “一样快,底层都用了哈希表,查 阅读全文
posted @ 2019-11-11 14:41 sunsky303 阅读 (29) 评论 (0) 编辑
摘要:Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。 一. 实例 为了说明Bloom Filter存在的重要意义,举一个实例: 假设要你写一个网络蜘蛛(web crawler)。 阅读全文
posted @ 2019-11-11 12:30 sunsky303 阅读 (193) 评论 (0) 编辑
摘要:unsafe.Pointer 这个类型比较重要,它是实现定位和读写的内存的基础,Go runtime大量使用它。官方文档对该类型有四个重要描述: 大多数指针类型会写成T,表示是“一个指向T类型变量的指针”。unsafe.Pointer是特别定义的一种指针类型(译注:类似C语言中的void类型的指针) 阅读全文
posted @ 2019-11-08 15:24 sunsky303 阅读 (490) 评论 (0) 编辑
摘要:Go语言中new和make是内建的两个函数,主要用来创建分配类型内存。在我们定义生成变量的时候,可能会觉得有点迷惑,其实他们的规则很简单,下面我们就通过一些示例说明他们的区别和使用。 变量的声明 var i int var s string 变量的声明我们可以通过var关键字,然后就可以在程序中使用 阅读全文
posted @ 2019-11-08 11:29 sunsky303 阅读 (28) 评论 (0) 编辑
摘要:基础 可以通过 go test -h 查看帮助信息。 其基本形式是: 执行 go test 命令,它会在 *_test.go 中寻找 test 测试、benchmark 基准 和 examples 示例 函数。测试函数必须以 TestXXX 的函数名出现(XXX 为以非小写字母开头),基准函数必须以 阅读全文
posted @ 2019-11-08 10:16 sunsky303 阅读 (25) 评论 (0) 编辑
摘要:自2007年“三巨头(Robert Griesemer, Rob Pike, Ken Thompson)”提出设计和实现Go语言以来,Go语言已经发展和演化了十余年了。这十余年来,Go取得了巨大的成就,先后在2009年和2016年当选TIOBE年度最佳编程语言,并在全世界范围内拥有数量庞大的拥趸。不 阅读全文
posted @ 2019-11-08 10:07 sunsky303 阅读 (11) 评论 (0) 编辑
摘要:在开发过程中,map是必不可少的数据结构,在Golang中,使用map或多或少会遇到与其他语言不一样的体验,比如访问不存在的元素会返回其类型的空值、map的大小究竟是多少,为什么会报"cannot take the address of"错误,遍历map的随机性等等。 本文希望通过研究map的底层实 阅读全文
posted @ 2019-11-07 19:54 sunsky303 阅读 (19) 评论 (0) 编辑
摘要:简介 TCP协议要经过三次握手才能建立连接: 于是出现了对于握手过程进行的攻击。攻击者发送大量的SYN包,服务器回应(SYN+ACK)包,但是攻击者不回应ACK包,这样的话,服务器不知道(SYN+ACK)是否发送成功,默认情况下会重试5次(tcp_syn_retries)。这样的话,对于服务器的内存 阅读全文
posted @ 2019-11-07 11:35 sunsky303 阅读 (42) 评论 (0) 编辑
摘要:1. 引用传递时append会复制生成新的指针 output: 2. 空值append output: 3. 数组、slice、切片的雷! output: 4. 字符串不能随意for output: 4. map是无序的 output: 原因: 根据Go规范, map上的迭代顺序是不确定的,并且在程 阅读全文
posted @ 2019-11-06 18:57 sunsky303 阅读 (26) 评论 (0) 编辑
显示搜索