缓存操作

来源:互联网 发布:雅思网络课程价格 编辑:程序博客网 时间:2024/06/06 00:21

 在Java中进行缓存操作有一个非常有用的工具,那就是java.util.Map接口,它有HashMap、HashTable等几个实现类。

在计算机科学中,提高数据检索效率的关键不在于使用多么好的检索的算法,而在于根据数据的特点对数据进行组织,从而提高后续检索的效率。

哈希函数建立了从“键-值对”到哈希表地址的一个映射,有了哈希函数,我们就可以根据键来确定“键-值对”在哈希表中的位置的地址。

常用的哈希函数包括:直接定址法、数字分析法、除留余数法、乘留余数法、平方取中法、折叠法等。

作为键的对象其hashCode和equals方法必须满足下面的条件:如果两个对象相等,那么他们的hashcode必须相等。如果使用自定义类作为键的话,一定要覆盖hashcode和equals方法,不能只覆盖一个而不覆盖另一个。

 

提高缓存的利用率的最常用的方法是进行缓存数据淘汰,也就是给缓存设定一个最大容量的空间,这样就避免了缓存无限度地侵占内存。

常见的缓存淘汰算法有:

(1)最佳淘汰法

(2)先进先出淘汰法(FIFO)

(3)最近最久未使用淘汰法(LRU)

 

LRUMap类位于Commons-Collections*.jar.

原创粉丝点击