郭克华老师J2ME教程学习笔记--代码优化

 

                            

原因

一般代码

优化代码

提高性能,移动cpu不需要一个除法指令

Int mid = (hi+lo)/2

Int mid = (hi+lo)>>1;

局部变量的赋值性能高于全局变量的赋值

Int sum

Public void sum()

{

For(int i=0;i<1000;i++)

{

       Sum += 1;

   }

}

Int sum

Public void sum()

{

  Int temp = sum;

  For(int i=0;i<1000;i++)

 {

   Temp += 1;

 }

 Sum = temp

}

多种选着时,使用switch语句会比else-if语句可读性强

 

 

循环控制的优化

(一般代码会多次执行v.size(),优化的代码只计算一次v.size())

 

Vector v;

For(int i=0;i<v.size();i++)

{

 

}

 

Vector v;

Int n = v.size()

For(int i=0;i<n;i++)

{

 

}

 

字符串常数

(一般代码会申请两块内存空间,优化后的只是一块)

String str = new String(“abc”);

String str=”abc”;

字符串

(一般代码会申请10块内存空间,优化后的只是一块)

StringBuffer sb;

For(int i=0;i<10;i++)

{

   Sb.append(“abc”);

}

StringBuffer sb;

String str = “abc”;

For(int i=0;i<10;i++)

{

   Sb.append(str);

}

字符串与空字符串的判断优化

(优化后的代码不用为空字符串分配空间)

String s;

If(s.equal(“”)) {

 }

String s;

If(s.length==0) {

}

只有一个字符的字符串,最好用字符代替

Sb.append(“a”);

Sb.append(‘a’);

有些情况下用StringBuffer会比用String

String s1=”s1”;

String s2=”s2”;

String s3=s1+s2;

StringBuffer sb = new StringBuffer(“s1”);

Sb.append(“s2”);

异常处理

Try {

    Cus.fun();

} catch( NullPointerException e) {

  

}

If(cus == null) {

    Return ;

} else {

    Cus.fun();

}

尽量不使用类中类

 

 

引用不用之后置空

连接最终要关闭,释放资源

 

 

一般在构造函数里创建对象,分配资源

 

 

注意保护现场

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值