【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《java编程规范-性能篇》,欢迎阅读!
性能
--------------------------------规则-------------------------------------- 日志
规则
对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.wddqxz.cn/f2e7147c3f1ec5da50e2524de518964bce84d246.html