java的回調技術淺談

我們經常會用System.currentTimeMillis()在事件開始前和結束後設置一個開始時間和結束時間,用他們的差作爲程序執行的時間。

我們不妨定義一個接口用java回調來實現動態計算。

 

接口定義:

package com.hd123.h5.ejb.verctrl;

public interface CallBack {
  public void callBack();
}

然後是實現這個接口

 

package com.hd123.h5.ejb.verctrl;

public class Run {

  //由於接口中的 callBack方法是沒有定義的,所以用一個接口對象執行callBack()方法,其實是未知的,我們具體需要實現的方法

  //可以通過callBack(),這個方法的不同實現來實現動態計時。

  private void run(CallBack callBack, String event) {
    long startTime = System.currentTimeMillis();
    callBack.callBack();
    long endTime = System.currentTimeMillis();
    System.out.print("執行" + event + "共消耗" + (endTime - startTime) + "ms");
  }

  public static void main(String[] args) {
    Run r=new Run();

//這裏動態的實現callBack方法。
    r.run(new CallBack(){
      public void callBack() {
        for(int i=0;i<999;i++){
          for(int j=i+1;j<99999;j++){
          }
        }
      }
     
    }, "循環");
  }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章