性能 --------------------------------规则-------------------------------------- 日志 规则 对Debug,Info级别日志输出前必须对当前的调试等级先进行判断 说明 日志一般都会有不少字符串的处理 如果不是Debug级别就没有必要进行处理 示例 if (logger.debugEnable()) { logger.debug(“request : ” + request.getMethod()); } 规则 对类中日志工具对象logger应声明为static 说明 防止重复new 出logger对象 logger指各种日志工具类 可以是log4j,common log,jdk logger,内部API等 尽管一些logger对LogFactory工厂有一些优化,但是我们也必须防止代码没有必要的运行 数组 规则 数组复制使用使用System.arraycopy(*) 说明 更好的性能 集合 规则 不要使用循环将集合转为数组 可以使用集合的toArray()方法 说明 更好的性能 代码更加简洁 字符串 规则 大量字符串的相加应该使用StringBuffer 说明 大量的String相加等于处理性能消耗较多 “大量”一般指 5次“+=”以上 或者在循环中进行字符串+=操作 ------------------------------建议------------------------------------- 其他 API函数 建议 尽量使用JDK自带的API函数,不要自己写类似功能的函数 说明: JDK自身的函数在可靠性,性能方面一般有更好的表现 大家必须熟练掌握,特别是算法方面的 IO 建议 IO操作流使用有Buffer的功能的类 说明 更好的性能 没有Buffer的输出 流频繁IO操作 效率反倒低 建议 public类型的底层函数需对输入参数进行判断 参数不合法应该主动抛出RuntimeException 说明 底层函数必须保证输入参数正确性再进行其他处理 防止后面的代码抛出错误 减少没有必要的后续代码运行 使用RuntimeException 减少了try catch满天飞 并有利于快速定位异常代码 示例 public void doDivide(int a,int b) { if (b == 0) { throw new IllegalArgumentException(“denominator can’t be zero”); } ... } 本文来源:https://www.wddqw.com/doc/f2e7147c3f1ec5da50e2524de518964bce84d246.html