经常使用的元数据Hashmap

mon*_*ksy 2 java caching hashtable

是否有任何静态大小哈希表的实现将条目限制为最近或最常用的元数据?我不想自己跟踪这些信息.

我知道大多数缓存组件都会跟踪这一点,但我宁愿不介绍很多新的依赖项.

not*_*oop 10

您可以使用标准JDK库构建LRU缓存LinkedHashMap:

public class MyLRUCache<K, V> extends LinkedHashMap<K, V> {

    private final int maxEntries;

    public MyLRUCache(int maxEntries) {
        // you can be a bit fancy with capacity and load factor
        super(16, 0.75, true);
        this.maxEntries = maxEntries;
    }

    @Override
    protected boolean removeEldestEntry(Map.Entry<K, V> eldest) {
        return size() > maxEntries;
    }
}
Run Code Online (Sandbox Code Playgroud)

你可能也想玩WeakReferences.