如果我们要测试一个类的方法的执行时间,通常我们会这样做:
public class TestObject {
/**
* 一个用来被测试的方法,进行了一个比较耗时的循环
*/
public static void testMethod(){
for ( int i= 0 ; i< 100000000 ; i++){
}
}
/**
* 一个简单的测试方法执行时间的方法
*/
public void testTime(){
long begin = System.currentTimeMillis(); //测试起始时间
testMethod(); //测试方法
long end = System.currentTimeMillis(); //测试结束时间
System.out.println("[use time]:" + (end - begin)); //打印使用时间
}
public static void main(String[] args) {
TestObject test=new TestObject();
test.testTime();
}
}
大家看到了testTime()方法,就只有"//测试方法"是需要改变的,下面我们来做一个函数实现相同功能但更灵活:
首先定一个回调接口:
public interface CallBack {
//执行回调操作的方法
void execute();
}
然后再写一个工具类:
public class Tools {
/**
* 测试函数使用时间,通过定义CallBack接口的execute方法
* @param callBack
*/
public void testTime(CallBack callBack) {
long begin = System.currentTimeMillis(); //测试起始时间
callBack.execute(); ///进行回调操作
long end = System.currentTimeMillis(); //测试结束时间
System.out.println("[use time]:" + (end - begin)); //打印使用时间
}
public static void main(String[] args) {
Tools tool = new Tools();
tool.testTime(new CallBack(){
//定义execute方法
public void execute(){
//这里可以加放一个或多个要测试运行时间的方法
TestObject.testMethod();
}
});
}
}
大家看到,testTime()传入定义callback接口的execute()方法就可以实现回调功能
转自:http://kidult.iteye.com/blog/148982
分享到:
相关推荐
java 回调函数 自己模拟实现 使用了接口来完成
给初学者的java回调demo,有了这篇demo,朋友们能更好地了解java的回调机制,也能手动debug。
Java回调
java回调函数
相信很多初学android java的童鞋们都不太懂回调的意思,我当时也是这样的什么这个跳到那个然后又从那个调用这个的方法。。。弄得晕头转向的,今天我突然顿悟,于是写了一个回调例子与大家分享,由于手头分不多了,...
使用一个小例子解释Java回调/代理机制的项目压缩包
Java 回调函数详解 前言: C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: 直接调用:在函数A的函数体里通过书写函数B的函数名来调用...
NULL 博文链接:https://nannan408.iteye.com/blog/2023486
Java面试如何用Java实现一个回调函数
Java回调函数详解共6页.pdf.zip
微信企业号回调模式实例(Java版) 认真阅读word文档,按照步骤实行,琢磨了一个礼拜,只收一分。
Java 回调函数详解及使用
Java最简单的接口回调,更详细的同步回调和异步回调见相关博客。
如何用Java回调和线程实现异步调用.pdf
java自定义回调函数代码,SDK开发.对后续编写自己的SDK有帮助!
这个例子说明了“异步+回调”的编程模式。其中,你后来打手机告诉我结果便是一个“回调”过程;我的手机号码必须在以前告诉你,这便是注册回调函数;我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数...
两个经典例子让你彻底理解java回调机制(csdn)————程序
主要介绍了Java回调函数实例代码详解,需要的朋友可以参考下