按照SUN公司的说明,使用自动装箱或静态工厂方法比使用new一个对象快3到4倍,该规则能够用在valueOf或其它静态工厂的调用中(如:Short、Integer, Long、Double, Byte 、Boolean等)。数据库
推荐用valueOf()
编程
推荐使用接口声明方式ide
若有多个对象须要关闭,则须分别对每一个对象的close()方法进行try-catch,以防止出现一个对象关闭失败而致使其余对象都未关闭的状况出现
函数
若有大批量的数据须要修改,建议使用PreparedStatement的Batch功能(一次性发送多个操做给数据库)性能
循环条件中避免使用表达式ui
public ArrayList();编码
默认的构造器,JAVA以10个元素的大小初始化
spapublic ArrayList(int);3d
用指定的容量大小大小初始化日志
不指明容量大小时,如集合容量不够,则JAVA会以1.5倍的容量递增扩充,并且每次扩充,系统会从新拷贝一遍已经加入到ArrayList的数据,从而致使额外的内存开销。
因为集合保存了对象的引用,虚拟机的垃圾收集器就不会回收
尽可能避免在循环体内声明变量,由于每个引用占4个字节。这样能够极大的减小新对象的建立数量,从而很大限度的减少内存开销。
不要在循环体内声明变量
在非finally块代码中catch的异常应该从新抛出通过封装的异常,在finally中再次catch的异常不该该再次抛出,应该写日志。不管是抛出异常仍是记录日志,都要传递异常对象。日志应记录详细的描述信息,避免调用异常对象的getMessage()方法,直接将该异常对象做为参数传递。
当须要在某些出口捕获全部可能出现的运行时异常或Error时,能够catch Exception 或Throwable。
可读性很重要
相似的道理,咱们可将“if (a == b && c == d)”改成可读性更强的“if ((a == b) && (c == d)) ”,可将“x >= 0 ? x : -x;"改成”(x >= 0) ? x : -x;“