scala中:: , +:, :+, :::, +++的区别

2016-05-09
阅读 1 分钟
27k
:: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表。用法为 x::list,其中x为加入到头部的元素,无论x是列表与否,它都只将成为新生成列表的第一个元素,也就是说新生成的列表长度为list的长度+1(btw, x::list等价于list.::(x))

使用python解释设计模式[译]

2015-10-30
阅读 7 分钟
6.1k
原文地址有没有好奇过设计模式是什么呢?在这篇文章中,我们将了解为什么设计模式是重要的,同时也会给出一些python的例子,解释为什么以及在什么时候使用设计模式。

leveldb源码分析(2)-bloom filter

2015-08-11
阅读 3 分钟
5.8k
bloom filter是一种用于快速判断某个元素是否属于集合的多哈希映射查找算法,但是并不要求100%正确。典型的应用场合有垃圾邮件过滤,http缓存中判断一条url是否在现有的url集合中等。

leveldb源码分析(1)--arena内存池的实现

2015-08-06
阅读 3 分钟
9.2k
陈硕老师曾经说过大部分情况下自己实现一个内存池是没有必要的,我们要相信malloc的作者。但是leveldb的作者也不是凡夫俗子(去google jeff dean 网 上 有 真 相)。leveldb为什么自己实现一个内存池我相信一定有它的道理,虽然这篇文章不大可能道出作者的精妙想法,但还是试着解释清楚程序的基本思路和框架。