這里我主要和大家一起討論靜態(tài)變量與set/get方法。這些都是我們經(jīng)常接觸到的,特別是使用多個(gè)類(lèi)的時(shí)候,靜態(tài)變量與set/get方法就會(huì )頻繁被調用到,到底是哪個(gè)好點(diǎn)呢?
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;
}
}
這里我主要和大家一起討論靜態(tài)變量與set/get方法。這些都是我們經(jīng)常接觸到的,特別是使用多個(gè)類(lèi)的時(shí)候,靜態(tài)變量與set/get方法就會(huì )頻繁被調用到,到底是哪個(gè)好點(diǎn)呢?
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;
}
}
測試出來(lái)的結果是讓人興奮的,因為使用靜態(tài)變量比get/set方法的速度快十倍以上,這么大的差距是我沒(méi)有想到的,另外用靜態(tài)變量所使用的內存值還要少點(diǎn),這更讓我們感覺(jué)到靜態(tài)變量的好