随笔-60  评论-138  文章-1  trackbacks-0

省略掉开场白,减少无谓的喟叹,进入主题。以下的建议是来自<symbian os j2me 编程指南>中关于怎么优化代码。
1.减少不必要的对象变量,因为其要在堆空间分配内存
2.字符串比较
    String a="now"; String b="now"; 那么,a==b可能返回真,因为jdk1.1并不保证只维持相同字符串的唯一拷贝。可以使用string.intern()方法强制解决问题,该方法返回一个字符串,保证字符串线程池中唯一。
    这样就可以使用==判断字符串比较。
3.字符串串联时使用stringbuffer ,并且需要给定初始大小。
4.hash表中的字符串键值
   字符串作为hash表中的键值,会调用到string的hashcode作为哈希值。但是,string.hashcode会每次都重新计算。可以仿照如下的keystring.当中将哈希码缓存起来,而不是每次创建,使用setkey可以重用一个keystring事例,避免不必要的对象创建。

 1public final class KeyString{
 2  private String key;
 3  private int hashCode;
 4   public KeyString(String key){
 5         setkey(key);
 6   }

 7   public void setKey(String key){
 8   this.key=key;
 9   hashcode=key.hashcode();
10   }

11   public int hashcode(){
12    return hashcode;
13   }

14   public boolean equals(Object obj){
15      if((obj instanceof KeyString))&&(key==((KeyString)(obj)).key)
16  return true;
17  }

18 
19}

5.容器
    使用hashtable 和vector的时候,给出初始容量大小。而stack由于没有支持设置容量的构造函数,可以使用setsize().
    对于hashtable的初始容量,建议设置成为素数。说是减少内存聚类。作者推荐89这个数字。
6. 循环
     使用i--更快速,因为循环比较符(>=)是直接编译进汇编器分支操作码的。
7.避免使用循环进行轮询,据说是,这样子能够避免耗电!
    boolean keepruning =false;
    public void run(){
         while(keepruning){
           
            }
    }
8.算术操作
    当前移动电话上使用的cpu并不能对除法和取摸提供硬件帮助,建议过多运用这些运算的程序考虑让除数是2的幂次,可以使用右移操作模拟除法,用掩码操作模拟取摸。
    比如 a%b可以使用a&0x1ff来模拟。
其他的建议就是缓存,双缓冲之类的了。
posted on 2008-06-10 14:35 张氏兄弟 阅读(1789) 评论(1)  编辑  收藏 所属分类: 51ditu.com

评论:
# re: j2me提升性能_读书笔记 2008-06-13 15:49 | ~上善若水~
传智播客ajax全套内部视频独家发布,免费下载

1.ajax 入门

2.ajax 原理

3.ajax 简单实例

4.ajax 无限级联动菜单

5.ajax 简易聊天室

6.ajax 开源框架简介

7.DWR 框架源码分析一

8.DWR 框架源码分析二

9.DWR 框架源码分析三

10.DWR 框架源码分析四

11.DWR框架源码分析五

12.SSH + DWR完成商城驱动

13. Extjs 简介

14 Extjs&nbsp; 简单实例

15.SSH + Extjs 开发系列之OA一

16. SSH + Extjs 开发系列之OA二

17. SSH + Extjs 开发系列之OA三

18. SSH + Extjs 开发系列之OA四

19 .SSH + Extjs 开发系列之OA五

20.&nbsp;SSH + Extjs 开发系列之OA六

21. SSH + Extjs 开发系列之OA七

22.&nbsp;SSH + Extjs 开发系列之OA八

23.SSH + Extjs 开发系列之OA九

24.SSH + Extjs 开发系列之OA十

25. ajax 前景之我见

下载地址:http://www.ibeifeng.com/read.php?tid=2338&u=5043  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: