请问老师,5.4中,不是很明白把CacheLoader中的Load的返回值的null改成字符串"null"的意义,使用null的话,使用null == value?作判断不是一样么,还有就是,使用字符串"null".equals作判断,然后又返回null对象,不是没有意义么,我把代码改成这样,是不是效果一样,谢谢老师。
图片为视频中的代码
下面为我改成的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | public class TokenCache { private static Logger logger = LoggerFactory.getLogger(TokenCache. class ); private static LoadingCache<String,String> localCache = CacheBuilder.newBuilder() .initialCapacity( 1000 ) .maximumSize( 10000 ) .expireAfterAccess( 12 , TimeUnit.HOURS) .build( new CacheLoader<String, String>() { @Override public String load(String key) throws Exception { return null ; } }); public static void setKey(String key,String value){ localCache.put(key,value); } public static String getKey(String key){ try { return localCache.get(key); } catch (Exception e) { logger.error( "localCache get error" ,e); } return null ; } } |