Java基础学习总结(93)——Java编码规范之代码性能及惯例

一、避免使用包装类构造函数

按照SUN公司的说明,使用自动装箱或静态工厂方法比使用new一个对象快3到4倍,该规则能够用在valueOf或其它静态工厂的调用中(如:Short、Integer, Long、Double, Byte 、Boolean等)。数据库

JAVA编码规范之代码性能及惯例

推荐用valueOf()
编程

二、面向接口编程时,推荐使用接口的声明方式

JAVA编码规范之代码性能及惯例

推荐使用接口声明方式ide

三、单个方法代码行数尽可能保持在80-100行以内

四、数据库及磁盘IO等操做,必须在try-catch-finally块的finally中执行close()方法

若有多个对象须要关闭,则须分别对每一个对象的close()方法进行try-catch,以防止出现一个对象关闭失败而致使其余对象都未关闭的状况出现
函数

五、不要在循环体内进行数据库的“链接-关闭”操做

若有大批量的数据须要修改,建议使用PreparedStatement的Batch功能(一次性发送多个操做给数据库)性能

六、大量(如超过五次以上的“+=”运算)的字符串操做应使用StringBuilder或StringBuffer,尽可能避免使用String

七、不要在循环条件中使用表达式

JAVA编码规范之代码性能及惯例

循环条件中避免使用表达式ui

八、应尽量的以指明容量大小的方式对ArrayList进行实例化

  • public ArrayList();编码

    默认的构造器,JAVA以10个元素的大小初始化
    spa

  • public ArrayList(int);3d

    用指定的容量大小大小初始化日志

不指明容量大小时,如集合容量不够,则JAVA会以1.5倍的容量递增扩充,并且每次扩充,系统会从新拷贝一遍已经加入到ArrayList的数据,从而致使额外的内存开销。

九、集合中的数据若是不使用了应该及时释放

因为集合保存了对象的引用,虚拟机的垃圾收集器就不会回收

十、不要在循环体内声明变量

尽可能避免在循环体内声明变量,由于每个引用占4个字节。这样能够极大的减小新对象的建立数量,从而很大限度的减少内存开销。

JAVA编码规范之代码性能及惯例

不要在循环体内声明变量

十一、非正常运行产生的异常被捕获后,必须对异常进行处理

在非finally块代码中catch的异常应该从新抛出通过封装的异常,在finally中再次catch的异常不该该再次抛出,应该写日志。不管是抛出异常仍是记录日志,都要传递异常对象。日志应记录详细的描述信息,避免调用异常对象的getMessage()方法,直接将该异常对象做为参数传递。

十二、尽可能定位异常类型,不要一概catch(Exception ex)

当须要在某些出口捕获全部可能出现的运行时异常或Error时,能够catch Exception 或Throwable。

1三、尽可能避免一个方法中一个大的try块,catch一个Exception的代码方式,若是有必要可使用多个try-catch块分别处理

1四、不要将赋值运算符用在容易与相等关系运算符混淆的地方,如:

JAVA编码规范之代码性能及惯例

可读性很重要

相似的道理,咱们可将“if (a == b && c == d)”改成可读性更强的“if ((a == b) && (c == d)) ”,可将“x >= 0 ? x : -x;"改成”(x >= 0) ? x : -x;“

相关文章
相关标签/搜索