e344. implementing a least-recently-used (lru) cache.txt

来自「这里面包含了一百多个JAVA源文件」· 文本 代码 · 共 24 行

TXT
24
字号
// Create cache
    final int MAX_ENTRIES = 100;
    Map cache = new LinkedHashMap(MAX_ENTRIES+1, .75F, true) {
        // This method is called just after a new entry has been added
        public boolean removeEldestEntry(Map.Entry eldest) {
            return size() > MAX_ENTRIES;
        }
    };
    
    // Add to cache
    Object key = "key";
    cache.put(key, object);
    
    // Get object
    Object o = cache.get(key);
    if (o == null && !cache.containsKey(key)) {
        // Object not in cache. If null is not a possible value in the cache,
        // the call to cache.contains(key) is not needed
    }
    
    // If the cache is to be used by multiple threads,
    // the cache must be wrapped with code to synchronize the methods
    cache = (Map)Collections.synchronizedMap(cache);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?