在ConcurrentHashMap没有出现以前,jdk使用hashtable来实现线程安全,但是hashtable是将整个hash表锁住,所以效率很低下。 ConcurrentHashMap将数据分别放到多个Segment中,默认16个,每一个Segment中又包含了多个HashEntry列表数组 ...
分类:
编程语言 时间:
2017-05-03 22:49:21
阅读次数:
308
Memcache Memcache是danga.com的一个开源项目,它是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的Hash表,能够用来存储各种格式的数据。 查看当前的memcache连接数:[root@mem1 ~]# netstat -n | grep :11211 ...
分类:
系统相关 时间:
2017-05-03 13:08:26
阅读次数:
178
最近阅读了《大型网站技术架构————核心原理与案例分析》,总结了其中的网站应用服务器性能优化的部分。应用服务器的性能优化大体上可以从一下四个方向入手: 应用服务器性能优化(一)——缓存 一、使用缓存优化网站性能 网站性能优化第一定律:优化考虑使用缓存优化性能 缓存的本质是一个内存Hash表,网站应用 ...
分类:
Web程序 时间:
2017-05-01 19:51:19
阅读次数:
293
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:1public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体... ...
分类:
编程语言 时间:
2017-04-29 17:27:44
阅读次数:
211
都怪学习不好,或者老师教的不好。虽然知道异或的算法,但是始终不明白,到底有什么意义。。。直到今天,终于明白了。 还是应该怪我学的不好,不能怪老师。 今天有一个应用场景,写一个函数。这是一个hash表的插入函数,实现的是tcp/ip的流存储。输入是一个以太包,为了在这个表的存下双向包。 需要定义一个h ...
分类:
其他好文 时间:
2017-04-28 20:35:47
阅读次数:
163
重新整理了一下Hash表的应用: 首先,常用的整数哈希: 取模法 取乘法 取模顾名思义就是%p为hash值: 1 #define hash(i) (i%p) 取模顾名思义就是*p取一部分(此处用自然溢出)为hash值: 1 #define hash(i) ((unsigned int)(i*p)>> ...
分类:
其他好文 时间:
2017-04-25 22:26:08
阅读次数:
149
hash表的出现主要是为了对内存中数据的快速、随机的访问。它主要有三个关键点:Hash表的大小、Hash函数、冲突的解决。 这里首先谈谈第一点:Hash表的大小。 Hash表的大小一般是定长的,如果太大,则浪费空间,如果太小,冲突发生的概率变大,体现不出效率。所以,选择合适的Hash表的大小是Has ...
分类:
其他好文 时间:
2017-04-22 00:03:26
阅读次数:
223
哈希表 结构定义dict.h/dictht table是一个数组, 每个元素是一个指向dict.h/dictEntry 结构的指针. 哈希表节点 next属性指向下一个节点, 形成链表, 解决哈希冲突. 字典 type 和 privdata属性都是针对不同类型的键值对, 为创建多态字典设置. ht数 ...
分类:
其他好文 时间:
2017-04-15 17:56:45
阅读次数:
222
哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法:public native int hashCode();根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实 ...
分类:
编程语言 时间:
2017-04-15 14:44:52
阅读次数:
242