学过操作系统的人都知道LRU页面切换算法,其实这个算法不仅仅只是能在页面切换中应用到,在缓存中也有很实际的应用。最典型的实现方式是采用LinkedHashMap来实现这个缓存,大家可以在Java源码里面看到这个类的作者关于这个的描述,不过全是英文,但是却明确提到过。
下面废话不多说,直接展示我自己关于这个算法实现的代码吧,亲测通过:
核心算法代码:
package hk.inso.www.cache; import java.util.Hashtable; import java.util.LinkedList; /** * Created by IntelliJ IDEA. * Date: 8/7/15 4:46 PM * Author: Richard */ public class LinkedListCache<Object>{ //默认的缓存大小 private static int CAPACITY = 0; //引用一个双向链接表 private LinkedList<Object> list; //构造函数 public LinkedListCache(int capacity) { this.