blockcache.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 40 行
JAVA
40 行
/*
* $Id: BlockCache.java,v 1.4 2004/01/02 09:16:09 epr Exp $
*/
package org.jnode.fs.ext2.cache;
import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.log4j.Logger;
/**
* @author Andras Nagy
*/
public class BlockCache extends LinkedHashMap{
//at most MAX_SIZE blocks fit in the cache
static final int MAX_SIZE = 50;
private static final Logger log = Logger.getLogger(BlockCache.class);
public BlockCache(int initialCapacity, float loadFactor) {
super(initialCapacity, loadFactor, true);
}
public boolean containsKey(Integer key) {
boolean result = super.containsKey(key);
if(result)
log.debug("CACHE HIT, size:"+size());
else
log.debug("CACHE MISS");
return result;
}
protected boolean removeEldestEntry(Map.Entry eldest) {
if(size()>MAX_SIZE) {
((Block)eldest.getValue()).flush();
return true;
} else
return false;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?