Soungzy:我是这样理解的:在产生执行器BaseExecutor之后进行缓存CachingExecutor封装的时候、再包裹了一层自定义的缓存获取。之前的是executor = new CachingExecutor(executor);,修改过后executor = new CachingExecutor(new FirstCachingExecutor(executor));,FirstCachingExecutor为自定义的缓存读取。即CachingExecutor 走完之后未命中时调用 FirstCachingExecutor,再调用那三种执行器。