LRUMap(Least Recently Used Cache)可用来保存最近使用的几条记录,例如:保存Blog中的最近10条留言.大多数情况用作缓存(如:EHCache)的一种策略.具体使用方法如下:
import java.util.Map;
import org.apache.commons.collections.map.LRUMap;
cache = new LRUMap( 5 );
// Populate the cache with 5 stock prices
cache.put( "MSFT", new Float( 0.03 ) );
cache.put( "TSC", new Float( 0.001 ) );
cache.put( "LU", new Float( 23.30 ) );
cache.put( "CSCO", new Float( 242.20 ) );
cache.put( "P", new Float( 10.23 ) );
// Now use some of the entries in the cache
Float cscoPrice = (Float) cache.get( "CSCO" );
Float msPrice = (Float) cache.get( "MSFT" );
Float tscPrice = (Float) cache.get( "TSC" );
Float luPrice = (Float) cache.get( "LU" );
Float pPrice = (Float) cache.get( "P" );
Float msPrice2 = (Float) cache.get( "MSFT" );
// Add another price to the Map, this should kick out the LRU item.
cache.put( "AA", new Float( 203.20 ) ); 此时,缓存中的元素为:
[CSCO]
[MSFT]
[TSC]
[LU]
[P]
[AA]
由于LRU最近没有被访问,所以当AA加入时,由于超过了缓存的最大容量(5),所以被剔除了缓存.
参考资料:
<<Jakarta Commons Cookbook>>
By Timothy M. O'Brien
Publisher : O'Reilly
Pub Date : November 2004
ISBN : 0-596-00706-X
Pages : 400
posted on 2005-12-15 19:59
ZhuJun 阅读(708)
评论(0) 编辑 收藏 所属分类:
开发手记 、
开源项目