在这篇博客中,主要把之前看的书的内容记录一下,个人感觉还是可以的,原题是这样的:开发一个高效的缓存。这里指的是单机.
首先我来看当前的一个版本
1 public interface Computable<T, R> {2 R compute(T input) throws InterruptedException;3 }
1 public class Memoizer1<T,R> implements Computable<T,R>{ 2 3 private final Map<T,R> cache = new HashMap<>(); 4 5 private final Computable<T,R> computable; 6 7 public Memoizer1(Computable<T, R> computable) { 8 this.computable = computable; 9 }10 11 public synchronized R compute(T input) throws InterruptedException {12 R result= cache.get(input);13 if(result ==null){14 result = computable.compute(input);15 &n