java性能优化

java程序性能优化

1:避免在循环条件中使用复杂表达式:在循环中,循环条件会被反复计算,如果不适用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。

例子:
import java.util.Vector;
class CEL{
void method(Vector vector){
for(int i=0;i<vector.size();i++){
//;
}
}
}
改为:
import java.util.Vector;
class CEL{
void method(Vector vector){
int size=vectopr.size();
for(int i=0;i<size;i++){
//;
}
}
}
2:为‘vectors’和 'HashTables'定义初始化大小
jvm为vector扩充大小的时候需要重新创建一个更大的数组,将原先数组中的内容复制过来,最后,原先数组在被回收。可见Vector容量的扩大是一个破费时间的事情。通常,默认的10个元素大小是不够的。你最好能准确的估计你所需要的最佳大小

如:public vector v=new vector(20);

3:在finally块中关闭stream;
程序中使用到的资源应当被释放,以避免资源泄露。这最好在finally块中去做。不管程序执行结果如何。finally块总是会执行的,以确保资源的正确关闭。

4:使用system。arraycopy()代替通过来循环复制数组。

5:让访问实例内变量的getter/setter方法变成final

6:避免不需要的instanceof操作;
如果左边的对象的静态类型等于右边的,instanceof表达式返回永远为true

7字字符串相加的时候,使用‘’代替“”,如果该字符串只有一个字符的话。

8不要在循环中调用同步的方法。

9将try/catch块移出循环。
把try/catch块放入循环体内,会极大的影响性能,如果编译JIT被关闭或者你所使用的是一个不带JIT的JVM,性能会下降21%多。

10 对于常量字符串,用‘string’ 代替‘stringbuffer’。

11 使用三元运算符替换if else

12:不要在循环体中实例变量

13确定stringbuffer的容量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值