最新 | 最热门 | 最高评价

+0  Cuckoo Filter:设计与实现

Tag: C/C++语言 | 数据库 | 程序设计 | 趣味问题 | Algorithm | filter | hashing | 海量数据
Leo 发于 2015年09月02日 09:18 | 点击: 2798 | 展开摘要
(感谢网友 @我的上铺叫路遥 投稿)

对于海量数据处理业务,我们通常需要一个索引数据结构,用来帮助查询,快速判断数据记录是否存在,这种数据结构通常又叫过滤器(filter)。考虑这样一个场景,上网的时候需要在浏览器上输入URL,这时浏览器需要去判断这是否一个恶意的网站,它将对本地缓存的成千上万的URL索引进行过滤,如果不存在,就放行,如果(可能)存在,则向远程服务端发起验证请求,并回馈客户端给出警告。

索引的存储又分为有序和无序,前者使用关联式容器,比如B树,后者使用哈希

查看全文: http://www.udpwork.com/item/14563.html

+0  无锁HashMap的原理与实现

Tag: Java语言 | 程序设计 | Hash | HashMap | Java | Performance | 多线程 | 并发
onetwogoo 发于 2013年05月30日 21:31 | 点击: 2472 | 展开摘要
 (本文由onetwogoo投稿)

在《疫苗:Java HashMap的死循环》中,我们看到,java.util.HashMap并不能直接应用于多线程环境。对于多线程环境中应用HashMap,主要有以下几种选择:

使用线程安全的java.util.Hashtable作为替代。

使用java.util.Collections.synchronizedMap方法,将已有的HashMap对象包装为线程安全的。

使用java.util.concurrent.Concurren

查看全文: http://www.udpwork.com/item/9945.html

+0  疫苗:Java HashMap的死循环

Tag: Java语言 | 程序设计 | Hash | HashMap | Java | 多线程 | 并发
陈皓 发于 2013年05月10日 08:12 | 点击: 3561 | 展开摘要
在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然出现问题。但是,我发现近几年,很多人都经历过这个事(在网上查“HashMap Infinite Loop”可以看到很多人都在说这个事)所以,觉得这个是个普遍问题,需要写篇疫苗文章说一

查看全文: http://www.udpwork.com/item/9814.html

+0  MongoDB 2.4版本发布

Tag: MongoDB | V8 | Hash-based Sharding | Capped Arrays
nosqlfan 发于 2013年03月20日 10:24 | 点击: 14476 | 展开摘要
MongoDB刚刚发布了其2.4版本,是目前最新的稳定版。此版本包括了一些性能优化,功能增强以及bug修复。更细节的信息可以查看下面几个链接:

2.4 release notes

MongoDB Downloads

MongoDB 2.4 webinars

下面是MongoDB
Very Reconstructor best clogged http://www.neutralbaydiner.com.au/wrt/buy-bactrum.php with and.

查看全文: http://www.udpwork.com/item/9490.html

+0  基于hash计算的多层实验流量切分的实现

Tag: 搜索引擎技术 | 未分类 | hash | 抽样实验 | 流量切分
editor 发于 2012年07月12日 20:01 | 点击: 2390 | 展开摘要
1.      背景介绍

         站点新功能或者是站内新策略开发完毕之后,在全流量上线之前要评估新功能或者新策略的优劣,常用的评估方法是A-B测试,做法是在全量中抽样出两份小流量,分别走新策略分支和旧策略分支,通过对比这两份流量下的各指标的差异,我们可以评估出新策略的优劣,进而决定新策略是否全流量。

         上文中提到的抽样是指按照某种确定的随机化方法,对线上流量进行划分。抽样可以指这种划分的方法,也可以指划分得到的一个流量子集。抽样是一种特殊的小流量

查看全文: http://www.udpwork.com/item/7692.html

+0  Hash Collision DoS 问题

Tag: 业界新闻 | 网络安全 | Hash | Java | 安全
陈皓 发于 2012年01月06日 08:36 | 点击: 1958 | 展开摘要
最近,除了国内明文密码的安全事件,还有一个事是比较大的,那就是 Hash Collision DoS (Hash碰撞的拒绝式服务攻击),有恶意的人会通过这个安全弱点会让你的服务器运行巨慢无比。这个安全弱点利用了各语言的Hash算法的“非随机性”可以制造出N多的value不一样,但是key一样数据,然后让你的Hash表成为一张单向链表,而导致你的整个网站或是程序的运行性能以级数下降(可以很轻松的让你的CPU升到100%)。目前,这个问题出现于Java, JRuby, PHP,

查看全文: http://www.udpwork.com/item/6656.html

+0  PHP哈希表碰撞攻击原理

Tag: PHP内核 | hash collisions | php | zend
ericzhang 发于 2012年01月04日 11:47 | 点击: 1463 | 展开摘要
最近哈希表碰撞攻击(Hashtable collisions as DOS attack)的话题不断被提起,各种语言纷纷中招。本文结合PHP内核源码,聊一聊这种攻击的原理及实现。

哈希表碰撞攻击的基本原理

哈希表是一种查找效率极高的数据结构,很多语言都在内部实现了哈希表。PHP中的哈希表是一种极为重要的数据结构,不但用于表示Array数据类型,还在Zend虚拟机内部用于存储上下文环境信息(执行上下文的变量及函数均使用哈希表结构存储)。

理想情况下哈希表插入和查找操作的时

查看全文: http://www.udpwork.com/item/8525.html

+0  浅析java的hashmap

Tag: program | hash | java
isnowfy 发于 2011年12月07日 23:52 | 点击: 2007 | 展开摘要
话说java的hashmap很好用啊,看了java的源代码之后其实发现实现也蛮简单的,map的用法就是key-value的用法,然后对于每一个对象都有一个hashcode,在hashmap内部就是利用这个hashcode来找到value的。

那么hashcode一般而言是对象的在jvm中的一个32位的地址,所以不会重复,可能有人注意到,这样的话如果用string做key那么两个内容相同的串其地址不同,那么hashcode也不同,这样就不合理了,所以实际上在String.j

查看全文: http://www.udpwork.com/item/6492.html

+0  一些有意思的网站和贴子

Tag: Web开发 | 技术读物 | 杂项资源 | 轶事趣闻 | AutoTools | Cheat Sheet | HTML | Kinect | MikeOS | Programmer | TeleHash
陈皓 发于 2011年01月18日 08:53 | 点击: 3579 | 展开摘要
各位朋友,又到了介绍各种杂项的时候了,正如以前的这篇和这篇文章一样,本篇文章也给你介绍一些最近出现的一些有趣的东西。希望你能喜欢。

首先是华尔街的一篇报道,2011年最好和最不好的工作,其引用了CareerCast.com的数据,其列出了100个工作种类,并根据薪资、工作环境、工作鸭梨、体力消耗和就业前景做了一个排序。结果排第一位的是“软件工程师”,其理由是:高科技产品的需求呈爆炸式增长,以及人们对iPod、平板电脑、和其它科技产品应用软件的喜好,软件工程师被评为最佳职业。

查看全文: http://www.udpwork.com/item/4112.html

+0  分布式系统的数据结构

Tag: 分布式架构 | 分布式数据结构,分布式Hash表,分布式B树
chuanhui 发于 2011年01月12日 20:03 | 点击: 3333 | 展开摘要
常用的数据结构包括:数组,队列,堆栈,链表,树(平衡二叉树,B树,Trie树,堆),哈希表,图,后缀数组,等等。其中,堆,图结构,Trie树及后缀数组解决特定问题,其它数据结构解决通用的查找,更新,删除操作。

查找,更新和删除操作一般是O(1),O(logN)或者O(N),通用的数据结果大致可分为如下三种:

1, 极端型;某些操作的算法复杂度为O(1),另外一些算法复杂度为O(N),比如有序链表查找复杂度为O(N),更新和删除为O(1);

2, 平衡型:主要操作的复杂度

查看全文: http://www.udpwork.com/item/4079.html

+0  Java中各种锁类型的基准性能评测

Tag: java | HashMap | lock
kafka0102 发于 2010年08月10日 23:58 | 点击: 2472 | 展开摘要
周末对Java中各种类型的锁做了基准评测。测试的条件有两个:1)是10、50、100个不同的并发线程,2)是读写比例近似1:1,10:1,100:1,1000:1。测试方法是,对各种加锁的Map方法做性能评测,它们都是实现了MapWrapper接口的封装,测试的就是Map的get和put方法。测试的锁类型有:1)hashtable:直接测试Hashtable,2)synclock:对HashMap的方法直接加synchronized(理论上性能应和Hashtable相当),3

查看全文: http://www.udpwork.com/item/2357.html

+0  [Solr源码分析]LRUCache和FastLRUCache实现分析

Tag: cache | solr | HashMap | java | 源码分析
kafka0102 发于 2010年08月09日 00:01 | 点击: 9043 | 展开摘要
在 [Solr 实践]Solr Cache使用介绍及分析 一文我有对Solr的LRUCache和FastLRUCache做了一些介绍,本文在此基础对其实现做些补充。

1、LRUCache的实现分析

在分析LRUCache前先对LinkedHashMap做些介绍。LinkedHashMap继承于HashMap,它使用了一个双向链表来存储Map中的Entry顺序关系,这种顺序有两种,一种是LRU顺序,一种是插入顺序,这可以由其构造函数public LinkedHashMap

查看全文: http://www.udpwork.com/item/2332.html
|<<<12>>>| 一共2页, 15条记录