设为首页收藏本站

SKY外语、计算机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4885|回复: 0
打印 上一主题 下一主题

[java基础] Java代码优化技术<一>

[复制链接]

12

主题

5

好友

425

积分

中级会员

Rank: 3Rank: 3

生肖
星座
摩羯座
性别

最佳新人 活跃会员 灌水之王 论坛元老

跳转到指定楼层
楼主
发表于 2012-8-25 20:49:49 |只看该作者 |倒序浏览
本帖最后由 sky_yx 于 2015-12-30 14:10 编辑

1、尽量指定类的final修饰符
      带有final修饰符的类不可派生。如果指定一个类为final,则该类所有的方法都是final。
2、尽量重用对象
     特别是Strin对象的使用中,出现字符串连接情况时应用StringBuffer代替。因为系统不仅需要花费时间去生成对象,而且还要花时间对这些对象进行垃圾回收。
3、尽量使用局部变量
     调用方法时传递的参数以及在调用时创建的临时变量都保存在栈中,速度较快,其他变量,如静态变量、实例变量等,都是在堆中创建,速度较慢。
4、不要重复初始化变量
      默认情况下,调用类的构造函数时,Java会把变量初始化成固定的值,所有的对象都被设置成null,整数变量(byte、short、int和long)设置成0,float和double变量设置成0.0,逻辑值设置成false。当一个类从另一个类派生时,用new关键字创建词创建一个对象时,父类构造函数链中所有的构造函数都会被自动调用。
5、Java内嵌的SQL语句尽量用大写的形式
      oracle数据库解析大写SQL比较快,解析小写sql比较慢。
6、进行数据库连接、I/O流操作事务,在使用完毕后,及时关闭并释放资源
7、对象使用完毕后,手动设置成null
      过分的创建对象会消耗系统的大量内存,严重时引起内存泄露。
8、在使用同步机制时,应尽量使用方法同步代替代码同步
9、尽量减少对变量的重复计算
    例如:
     for(int i = 0; i <list.size();i++)
     {
        
     }
     应替换为:
     for(int i = 0,int len = list.size();i<leni++)
     {
                              
     }
10、尽量才用lazy loading的策略,在需要的时候才可以创建
       例如:
       String str = "abc";
        if(i == 1)
        {
              List.add(str);
         }
         应替换为:
         if(i == 1){
             String str = "abc";
              list.add(str);
        }
11、慎用异常,异常对性能不利
12、不要在循环中用try/catch语句,应把放其最外层
13、合理的使用StringBuffer
        StringBuffer表示可变的、可写的字符串。有三个构造方法:
        StringBuffer();     //默认分配16个字符空间
        StringBuffer(int size);    //分配size个字符的空间,表示当前的StringBuffer能保存的字符数量
        StringBuffer(String str);           //分配16个字符+str.length()个字符空间
可通过StringBuffer的构造函数(StringBuffer(int size))来设定它的初始化容量,这样可以提高性能。


分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享淘帖0 收藏收藏0 评分评分
您需要登录后才可以回帖 登录 | 立即注册


手机版|SKY外语计算机学习 ( 粤ICP备12031577 )    

GMT+8, 2024-12-22 21:06 , Processed in 0.099575 second(s), 27 queries .

回顶部