/**
* mybatis3 LruCache
* ---------------------------
*
* {@code LruCache} 的實作和FifoCache的實作思路是一樣的,不同的是key序列的維護資料結構不一樣, {@code LruCache } key的LRU算法維護利用了jdk
* {@code LinkedHashMap} 資料結構(請看文檔說明,也提到LRU算法).
*
* 沒有實作鎖功能,不支援并發.
*
* @author doctor {@link https://github.com/doctorwho1986}
*
*
* @time 2015年3月10日
*/
public class LruCachePractice {
@Test
public void test_LruCache() {
LruCache lruCache = new LruCache(new PerpetualCache("test_LruCache"));
lruCache.setSize(2);
assertThat(lruCache.getSize(), equalTo(0));
lruCache.putObject("name", "doctor");
lruCache.putObject("age", 2000);
lruCache.putObject("age", 3000);
lruCache.putObject("age", 29000);
lruCache.putObject("url", "https://github.com/doctorwho1986");
assertThat(lruCache.getSize(), equalTo(2));
assertThat(lruCache.getObject("name"), equalTo(null));
}
}
版權聲明:本文為CSDN部落客「weixin_34358365」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34358365/article/details/92446211