尽量重用对象,不要循环创建对象,比如for循环拼接字符串;
容器初始化若能提前预知长度则指明长度;
遍历map时候使用Entry遍历Map
for(Map.Entry<String,String> entry : map.entrySet){
String key=entry.getKey();
String value=entry.getValue();
}
尽量使用基本类型而不是包装类型;
尽量减小同步作用范围 synchronize方法 VS synchronize代码块;
尽量使用延迟加载
public class Singleton{
private Singleton(){}
private static class SingletonHolder{
private static Singleton instance = new Singleton();
}
public static Singleton getInstance(){
return SingletonHolder.instance;
}
}
尽量减少使用反射,加缓存;
尽量使用连接池、线程池、对象池、缓存;
及时释放资源,I/O流、数据库连接、Socket;
日志输出注意使用不同的级别;
日志中参数拼接使用占位符;
log.info(“orderId:”+ orderId);// 不推荐
log.info(“orderId:{}”,orderId);// 推荐