随便
郭老施
这个作者很懒,什么都没留下…
展开
-
随笔20190311
1.Bloom Filter 算法 今天看Druid的实现原理,看到里面关于Bloom Filter算法的部分,记录下来,很有用的~~ Bloom-Filter算法的核心思想就是利用多个不同的Hash函数来解决“冲突”。 计算某元素x是否在一个集合中,首先能想到的方法就是将所有的已知元素保存起来构成一个集合R,然后用元素x跟这些R中的元素一一比较来判断是否存在于集合R中;我们可...原创 2019-03-11 14:34:22 · 135 阅读 · 0 评论 -
大数据三大分析模式
MPP架构的系统(Presto/Impala/SparkSQL/Drill等)有很好的数据量和灵活性支持,但是对响应时间是没有保证的。当数据量和计算复杂度增加后,响应时间会变慢,从秒级到分钟级,甚至小时级都有可能。 搜索引擎架构的系统(Elasticsearch等)相对比MPP系统,在入库时将数据转换为倒排索引,采用Scatter-Gather计算模型,牺牲了灵活性换取很好的性能,在搜...转载 2019-03-11 16:19:36 · 1838 阅读 · 0 评论 -
随笔-CAS
1.名称 Campare and swap(switch) 2.作用 保证单个变量操作的原子性 3.对比synchronized关键字 3.1 synchronized是悲观锁;当并发量很少的时候效率很低;当并发量很高的时候效率不错 3.2 CAS是乐观锁;当并发量很少的时候效率不错;当并发量很高的时候就会因为大量的自旋操作而占用cpu 4.CAS具体操作 首先该操作有三个操作数:...原创 2019-03-11 22:04:16 · 116 阅读 · 0 评论 -
zookeeper
zk这个我觉得我需要多看两遍 https://mp.weixin.qq.com/s?__biz=MzIxMjE5MTE1Nw==&mid=2653193977&idx=1&sn=12319f8cb81f55a40ac461bd0ad9d74e&chksm=8c99f423bbee7d35056ce7ec1b321f33aad15c309de6eba0086cb31...原创 2019-03-11 23:06:49 · 101 阅读 · 0 评论 -
随笔
1.randomAccess接口 这个接口只是一个标识,用来表示实现了此接口的方法都可以高效得通过get(i)方法访问,如果是这样的话,在Collection的BinarySearch方法中,就会使用for循环进行二分查找;否则就会使用iterator进行迭代。因为不能高效随机访问的get(i)方法虽然开放了get方法供你使用,但底层使用的还是遍历,展示一下LinkedList类里面的get方法...原创 2019-03-08 11:36:55 · 175 阅读 · 0 评论