在这篇博客中,主要把之前看的书的内容记录一下,个人感觉还是可以的,原题是这样的:开发一个高效的缓存。这里指的是单机.

首先我来看当前的一个版本

1 public interface Computable<T, R> {2     R compute(T input) throws InterruptedException;3 }

iOS培训,Swift培训,苹果开发培训,移动开发培训

 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