重置我们的 cache,刷新完了,就把一些没用的 cache,清理掉节省空间,代码如下:
// AbstractApplicationContextprotected void resetCommonCaches() {// <1> 清理一下缓存ReflectionUtils.clearCache();AnnotationUtils.clearCache();ResolvableType.clearCache();CachedIntrospectionResults.clearClassLoader(getClassLoader());}
// ReflectionUtilspublic static void clearCache() {// <1> 清理 method 和 fields 缓存declaredMethodsCache.clear();declaredFieldsCache.clear();}
// AnnotationUtilspublic static void clearCache() {// <1> 清理 Annotation 类型的映射缓存AnnotationTypeMappings.clearCache();// <2> 清理 Annotations 扫描的缓存AnnotationsScanner.clearCache();}
// ResolvableTypepublic static void clearCache() {// <1> ResolvableType 是对反射的 type 扩展,cache 是扫描后的功能,所以需要清理cache.clear();SerializableTypeWrapper.cache.clear();}
ps:完结~