例如:
protected int switchInt(int z){
int i = z%10+1;
switch(i){
case 1: return 3;
case 2: return 6;
case 3: return 7;
case 4: return 8;
case 5 :return 10;
default:return -1;
}
}
因为数组的随机访问的性能的良好,所以使用数组来存储switch中的分支内容可以改善性能。
int re = 0;
int [] sw =new int[]{0,3,6,7,8,10};
for (int i = 0; i<1000000;i++){
re = switchInt(sw,i);
}
protected int arrayInt(int z){
int i = z % 10 + 1;
if(i>4||i<1)
return -1;
else
return sw[i];
}
(4)提取表达式
软件开发过程中往往有许多重复性的代码或者操作,提取这些重复的操作会更好的发挥系统的性能.例如:
x = d*a*b/3*4*a;
y = e*a*b/3*4*a;
//由于后面表达式故可以使用如下代码
t = a*b/3*4*a ;
x = d*t;
y = e*t;代替
(5)使用arrayCopy()
数组复制是一项使用频率很高的功能,JDK中提供了高效的API来实现它。System.arraycopy(array,0,arraydst,0,size);//进行复制
(6) 使用Buffer进行IO操作。
除了NIO外,使用Java进行I/O操作还有两种基本方式:
1.使用基于InputStream和OutputStream 的方式
2.使用Writer和Reader
(7)使用clone()方法代替new
Java中创建对象实例最常用的方法是new,使用new关键字创建轻量级对象时,速度非常快,但是对于重量级对象,由于创建时候构造函数进行
一些复杂的操作时,使用new会影响使用的性能,因此使用clone.()不受构造函数性能影响能够快速生成实例。
(8)善用设计模式
使用代理模式来处理一些延迟加载,使用观察者模式进行自身状态的监听,使用亨元模式在SAAS中根据不同租用信息实现功能的共享与分离。。。