优化程序
提高java代码效率:
1:
开发时,可以在任意处使用System.out.println(""); 语句用于测试数据。
发布时,建议尽量尽可能多的去掉System.out.println("");语句,否则该语句在开发时输出的内容将全部输出到tomcat服务器logs日志文件夹中的tomcat7-stdout.log文件中。
2:
for语句使用,建议全部使用形如格式的语句。
3:
考虑以static factory method 用以替代public 构造函数用于创建instance
4:
推荐系统学习下《effective java》 & 《 practical java》&《JAVA与模式》
5:
安插自己的测试代码
插入下述“显式”计时代码,对程序进行评测:
long start = System.currentTimeMillis();
// 要计时的运算代码放在这儿
long time = System.currentTimeMillis() - start;
System.currentTimeMillis()返回的时间以千分之一秒(1毫秒)为单位。然而,有些系统的时间精度低于1毫秒(如Windows PC),所以需要重复n次,再将总时间除以n,获得准确的时间。
6:
static final(静态最终)常数有助于编译器优化程序。
只在对象作用范围内进行初始化。
7:
尽量用数组而不用集合类。能不用同步段就尽量不用。变量要尽量局部化 。
8:
要有很好的算法功底,减小时间复杂度是关键!
1.少用异常,多用判断。
2.将类的属性按种类分块,将方法的实现按功能分块,适度使用对齐。
3.控制代码长度,尽可能不使用import *。
4.尽量减少同名类,用包名体现类的层次。如: com.sodao.connectable; com.sodao.connect.impl;
5.注意内存分配,手工清除短期对象的引用,注意长期引用对象,有可能引起内存泄漏。
6.用接口代替抽象类,不要同时使用overload和override。
7.使用继承表示分类关系,使用组合表示包含关系。
8.高质量的代码是在重构中完成的。
9.通过iterator,for,while来访问集合的元素。
10.使用不可变类作为Set和Map的Key值
11.免费使用集合的具体实现,在声明集合时,使用接口。
12.减少创建对象,减少循环的执行代码,减少IO操作,正确使用JDBC编程接口。
13.函数调用时,通过形参传过来的对象必须先判断后使用,避免使用异常。
14.使用合适的设计模式。
15.尽量将变量表达式申明成变量再使用有,在循环的判断中不要直接使用方法调用的返回值,而要将方法的返回值赋给变量,使用 ...
提高java代码效率:
1:
开发时,可以在任意处使用System.out.println(""); 语句用于测试数据。
发布时,建议尽量尽可能多的去掉System.out.println("");语句,否则该语句在开发时输出的内容将全部输出到tomcat服务器logs日志文件夹中的tomcat7-stdout.log文件中。
2:
for语句使用,建议全部使用形如格式的语句。
3:
考虑以static factory method 用以替代public 构造函数用于创建instance
4:
推荐系统学习下《effective java》 & 《 practical java》&《JAVA与模式》
5:
安插自己的测试代码
插入下述“显式”计时代码,对程序进行评测:
long start = System.currentTimeMillis();
// 要计时的运算代码放在这儿
long time = System.currentTimeMillis() - start;
System.currentTimeMillis()返回的时间以千分之一秒(1毫秒)为单位。然而,有些系统的时间精度低于1毫秒(如Windows PC),所以需要重复n次,再将总时间除以n,获得准确的时间。
6:
static final(静态最终)常数有助于编译器优化程序。
只在对象作用范围内进行初始化。
7:
尽量用数组而不用集合类。能不用同步段就尽量不用。变量要尽量局部化 。
8:
要有很好的算法功底,减小时间复杂度是关键!
1.少用异常,多用判断。
2.将类的属性按种类分块,将方法的实现按功能分块,适度使用对齐。
3.控制代码长度,尽可能不使用import *。
4.尽量减少同名类,用包名体现类的层次。如: com.sodao.connectable; com.sodao.connect.impl;
5.注意内存分配,手工清除短期对象的引用,注意长期引用对象,有可能引起内存泄漏。
6.用接口代替抽象类,不要同时使用overload和override。
7.使用继承表示分类关系,使用组合表示包含关系。
8.高质量的代码是在重构中完成的。
9.通过iterator,for,while来访问集合的元素。
10.使用不可变类作为Set和Map的Key值
11.免费使用集合的具体实现,在声明集合时,使用接口。
12.减少创建对象,减少循环的执行代码,减少IO操作,正确使用JDBC编程接口。
13.函数调用时,通过形参传过来的对象必须先判断后使用,避免使用异常。
14.使用合适的设计模式。
15.尽量将变量表达式申明成变量再使用有,在循环的判断中不要直接使用方法调用的返回值,而要将方法的返回值赋给变量,使用 ...