public class LRUCache<K,V> {
private static final float hashTableLoadFactor = 0.75F;
private LinkedHashMap<K, V> map;
private int cacheSize;
public LRUCache(int cacheSize) {
//注意HashMap的一个实例有两个影响其性能的参数:初始容量(capacity = N/0.75)和负载因子(default = 0.75)
this.cacheSize = cacheSize;
int initialCapacity = (int)Math.ceil((double)((float)cacheSize / 0.75F)) + 1;
this.map = new LinkedHashMap<K, V>(initialCapacity,
0.75F, //作为一般规则,默认loadFactor负载因子(0.75)在时间和空间成本之间提供了良好的权衡。
true); //accessOrder=false:按插入顺序,accessOrder=true:按LRU算法顺序
}
}
使用java实现LRU算法
最新推荐文章于 2023-08-09 21:54:48 发布