Set接口。set集合不允许包含相同的元素。set判断两个对象是否相同是根据equals方法。如果两个对象用equals方法返回的是true,set不会接受这两个对象。
HashSet是set接口的典型实现,HashSet按hash算法来存储集合中的元素。因此具有很好的存储和查找性能。Has...
分类:
其他好文 时间:
2014-07-22 23:12:56
阅读次数:
394
Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表。Redis小到可以存储几万记录的CACHE,大到可以存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大。Redis的核心数据结构就是字典(dict),dict在数据量不断增大的过程中,会遇到HASH(key)碰撞的问题,如果DICT不够大,碰撞的概率增大,这样单个hash 桶存储的元素会越来愈多,查询效率就...
分类:
其他好文 时间:
2014-05-01 21:56:59
阅读次数:
398
由于项目中用到了hash,自己实现了一个。Hash = function () { }
Hash.prototype = { constructor: Hash, add: function (k, v) { if (!this.hasO...
分类:
Web程序 时间:
2014-05-01 13:44:25
阅读次数:
444
一、耗时长的任务:消耗时间长的任务,以睡眠两秒为例。二、耗时短的任务:消耗时间短的任务,以分配耗时长的任务到指定进程为例。三、任务分配进程:异步进程。将收到的长耗时任务
以对同一用户的多次操作要排队的原则 分配到任务进程。补充:1. hash:key + value,以key取值的圆环式增长实现ha...
分类:
其他好文 时间:
2014-05-01 11:04:32
阅读次数:
364
我们考虑每一种x坐标,显然只有 sqrt{N}次,我们称这些为大的,其他为小的。
我们先考虑大的x和其他x之间的答案,先O(sqrt{N})枚举一个大的坐标,然后for其他的每个点,这样可以根据x坐标的差算出正方形的边长,hash检查一下就能知道这个正方形是否存在。
之后考虑小的x和小的x之间的答案,注意到我们可以对每个横坐标直接平方for,这样只有(sqrt{N})^2 + (sqrt{N})^2 + ... + (sqrt{N})^2 = N^1.5的枚举量,之后也可...
分类:
其他好文 时间:
2014-04-30 22:34:38
阅读次数:
326
在java所有类中都有一个共有的父类Object,一个类只要没有明显的继承一个类,则肯定是object类的子类
object类中有常用的四个方法。1、public object()构造方法
2、public boolean equals(object obj)对象比较 3、public int hashcode()取得hash码
4、public String toString();对象打...
分类:
其他好文 时间:
2014-04-29 13:17:21
阅读次数:
373
由于数组具有属性单一,长度不可改变的缺点,于是在程序中我们使用集合来代替它。集合中不可放入基本数据类型,基本数据类型都是通过自动拆包和自动装箱功能才能放入和取出集合。分类:Collection接口和Map接口Collection:存放单一值元素,又可分为list接口类型和set接口类型
...
分类:
编程语言 时间:
2014-04-28 11:20:31
阅读次数:
582
我们知道,如果直接对密码进行散列,那么黑客(统称那些有能力窃取用户数据并企图得到用户密码的人)可以对一个已知密码进行散列,然后通过对比散列值得到某用户的密码。换句话说,虽然黑客不能取得某特定用户的密码,但他可以知道使用特定密码的用户有哪些。加Salt可以一定程度上解决这一问题。所谓加Salt,就是加...
分类:
其他好文 时间:
2014-04-27 23:53:48
阅读次数:
698
在Linux内核中,hlist(哈希链表)使用非常广泛。本文将对其数据结构和核心函数进行分析。
和hlist相关的数据结构有两个:hlist_head 和 hlist_node
//hash桶的头结点
struct hlist_head {
struct hlist_node *first;//指向每一个hash桶的第一个结点的指针
};
//hash桶的普通结点
struct hl...
分类:
系统相关 时间:
2014-04-27 21:24:06
阅读次数:
579