在這篇博客中,主要把之前看的書的內(nèi)容記錄一下,個人感覺還是可以的,原題是這樣的:開發(fā)一個高效的緩存。這里指的是單機.
首先我來看當前的一個版本
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