1.在使用Bean属性复制属性时,尽量避免用BeanUtils,可以用Spring BeanUtils,Cglib BeanCopier,这些都是浅拷贝。
2.SimpleDateFormater尽量用"yyyy-MM-dd HH:mm:ss";
3.三目运算符容易空指针异常,jdk1.8可能已经修复
4.尽量定义Map的时候定义初始值,一定程度上算性能的优化
5.禁止用Executors来创建线程池,建议:private static ExecutorService excutor=
new ThreadPoolExcutor(10,10,60L,TimeUnit.SECONDS,new ArrayBlockingQueue(10));
6.ArrayList的Sublist返回的结果不能强转为ArrayList,此方法返回的是一个视图,原list和视图改变,双向绑定改变。
7.不是循环体,可以直接用"+"号进行拼接,否则用StringBuilder,并发场景是StringBuffer。
8.删除集合中的值,推荐使用方式:(1) iterator (2)jdk1.8流式编程
9.使用SimpledateFormat不要使用static,因为会出现线程安全问题
解决方案:(1) 使用局部变量
(2)加同步锁
(3)使用ThreadLocal
10.boolean属性,不要使用is前缀,容易造成序列化的问题。
11.所有的类属性都要用包装属性,局部变量用基本数据类型。