分享

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

 昵称762 2005-09-09
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方法的速度快十倍以上,这么大的差距是我没有想到的,另外用静态变量所使用的内存值还要少点,这更让我们感觉到静态变量的好

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多