SKY外语计算机学习
标题:
Java代码优化技术<一>
[打印本页]
作者:
流氓
时间:
2012-8-25 20:49
标题:
Java代码优化技术<一>
本帖最后由 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))来设定它的初始化容量,这样可以提高性能。
欢迎光临 SKY外语计算机学习 (http://skywj.com/)
Powered by Discuz! X2.5