我們經常會用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++){
}
}
}
}, "循環");
}
}