J2ME优化——静态变量与get/set方法比较

来源:百度文库 编辑:神马文学网 时间:2024/04/30 02:23:37
J2ME优化——静态变量与get/set方法比较
这里我主要和大家一起讨论静态变量与set/get方法。这些都是我们经常接触到的,特别是使用多个类的时候,静态变量与set/get方法就会频繁被调用到,到底是哪个好点呢?
package Optimize;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class staticTest extends MIDlet {
public staticTest() {
super();
// TODO Auto-generated constructor stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
long timer = 0L;
data d = new data();
timer = System.currentTimeMillis();
for (int k = 100000; k > 0; k--) {
d.setj(k);
}
System.out.println(System.currentTimeMillis() - timer);
timer = System.currentTimeMillis();
for (int k = 100000; k > 0; k--) {
data.i = k;
}
System.out.println(System.currentTimeMillis() - timer);
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
}
class data {
protected static int i = 0;
protected int j = 0;
public data() {
}
public void setj(int j) {
this.j = j;
}
public int getj() {
return j;
}
}
测试出来的结果是让人兴奋的,因为使用静态变量比get/set方法的速度快十倍以上,这么大的差距是我没有想到的,另外用静态变量所使用的内存值还要少点,这更让我们感觉到静态变量的好J2ME优化——静态变量与get/set方法比较
这里我主要和大家一起讨论静态变量与set/get方法。这些都是我们经常接触到的,特别是使用多个类的时候,静态变量与set/get方法就会频繁被调用到,到底是哪个好点呢?
package Optimize;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class staticTest extends MIDlet {
public staticTest() {
super();
// TODO Auto-generated constructor stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
long timer = 0L;
data d = new data();
timer = System.currentTimeMillis();
for (int k = 100000; k > 0; k--) {
d.setj(k);
}
System.out.println(System.currentTimeMillis() - timer);
timer = System.currentTimeMillis();
for (int k = 100000; k > 0; k--) {
data.i = k;
}
System.out.println(System.currentTimeMillis() - timer);
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
}
class data {
protected static int i = 0;
protected int j = 0;
public data() {
}
public void setj(int j) {
this.j = j;
}
public int getj() {
return j;
}
}
测试出来的结果是让人兴奋的,因为使用静态变量比get/set方法的速度快十倍以上,这么大的差距是我没有想到的,另外用静态变量所使用的内存值还要少点,这更让我们感觉到静态变量的好