编写Java代码一些注意点

来源:互联网 发布:英语句子语法分析软件 编辑:程序博客网 时间:2024/05/20 04:50

1. 尽量指定类的final修饰符,指定一个类的final,则类中的方法都为final。Java编译器会尽量内联(inline)所有的final方法,内联能使性能提高。

2. 尽量使用局部变量,调用方法时传递的参数及调用时创建的临时变量都保存在栈中,存取速度快。(静态变量、实例变量都在堆上创建,速度慢)

3. 在进行Java的数据库连接和I/O流操作时,应及时关闭不需要的连接或流以释放资源。

4. 减少对变量的重复计算,例:for(int i=0; i<list.size(); i++){}应改写成for(int i=0, len=list.size(); i<len; i++){}

5. Lazy loading 策略,在需要时再创建变量或对象,例:

复制代码
String str="aaa";if(i==1){    list.add(str);}//应写成if(i==1){  String str="aaa";  list.add(srt);}
复制代码

6. 谨慎使用异常,异常对性能不利,抛出异常要创建一个新的对象,

7. 在循环外使用try{}catch(){}

8. 尽量重用对象,例String对象使用中出现字符串连接情况,应用StringBuffer或StringBuilder代替。系统要花时间生成对象,之后还要对这些对象进行垃圾回收和处理。例:采用对象池技术,提高对象的利用率

Enemy[] enemies = new Enemy[5];for(int i=0; i<5; i++){    enemies[i] = new Enemy();}在类Enemy中增加标识属性used和带参数的reset方法是对象可重置到初始状态,在在载入时初始化对象池,在需要创建对象时,从对象池获取一个未被使用的对象并使用reset方法初始化,在需要释放对象时,只需将标志位修改,以供下次使用。

9. 尽可能地使用基本数据类型代替对象,例:int[][] bullets = new int[][];

原创粉丝点击