java编程规范-性能篇

2022-04-17 08:00:05   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《java编程规范-性能篇》,欢迎阅读!
性能,规范,编程,java
性能

--------------------------------规则-------------------------------------- 日志

规则

DebugInfo级别日志输出前必须对当前的调试等级先进行判断



说明

日志一般都会有不少字符串的处理 如果不是Debug级别就没有必要进行处理 示例

if (logger.debugEnable()) {

logger.debug(“request : ” + request.getMethod());





} 规则

对类中日志工具对象logger应声明为static 说明

防止重复new logger对象 logger指各种日志工具类

可以是log4jcommon logjdk logger,内部API

尽管一些loggerLogFactory工厂有一些优化,但是我们也必须防止代码没有必要的运行



数组 规则 数组复制使用使用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 cant be zero); } ...

}




本文来源:https://www.wddqxz.cn/f2e7147c3f1ec5da50e2524de518964bce84d246.html

相关推荐