1、StringBuilder相比于直接使用String拼接,效率更高
2、Optional的使用
3、不是特别需要的话,不建议使用读写锁,会降低时延,导致程序运行卡顿
private final ReentrantReadWriteLock lockReadWrite = new ReentrantReadWriteLock();
try {
lockReadWrite.writeLock().lock();// 加锁解锁为了多线程
log.info("Cache autoReplyInfo updated; size before updated:[{}]; size after updated: [{}]",
autoReplyMap.size(), autoReplyTemp.size());
autoReplyMap = autoReplyTemp;
} finally {
lockReadWrite.writeLock().unlock();
}
4、try catch在哪里return
try{} 里面尽量不要返回任何值(特殊情况下也可以返回),正常的返回值要放在catch{}后面。
在catch{} 里面要返回一个特别的值表明有异常发生,或者再次抛出一个新的异常。
5、map的value为任意类型的数值的写法
private static Map<String,Object> ***;