下面使用java回调函数来实现一个测试函数运行时间的工具类:
如果我们要测试一个类的方法的执行时间,通常我们会这样做:
java 代码
- 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()方法,就只有"//测试方法"是需要改变的,下面我们来做一个函数实现相同功能但更灵活:
首先定一个回调接口:
java 代码
- public interface CallBack {
-
- void execute();
-
}
然后再写一个工具类:
java 代码
- public class Tools {
-
-
-
-
-
- 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(){
-
- public void execute(){
-
-
TestObject.testMethod();
-
}
-
});
-
}
-
-
}
大家看到,testTime()传入定义callback接口的execute()方法就可以实现回调功能
分享到:
相关推荐
java 回调函数 自己模拟实现 使用了接口来完成
Java 回调函数详解 前言: C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: 直接调用:在函数A的函数体里通过书写函数B的函数名来调用...
Java面试如何用Java实现一个回调函数
Java回调函数详解共6页.pdf.zip
java自定义回调函数代码,SDK开发.对后续编写自己的SDK有帮助!
Java 回调函数详解及使用
某天,我打电话向你请教问题,当然是个难题,^_^,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出...我的手机号码应该有效并且手机能够接收到你的呼叫,这是回调函数必须符合接口规范。
回调函数被连续执行两次或多次的原因: 根本原因:回调函数的事件预订【+=】语句被执行了两次或多次。 实例:移动web页的代码页类MobileDefault的Page_Init事件过程,包含的InitializeComponent()连续出现了两次...
Java多线程实现 自定义 的 回调函数. 手写 完成,亲测 完成,可以 直接运行,Demo ,具有一定参考价值,供大家阅读 下载,谢谢
主要介绍了Java回调函数实例代码详解,需要的朋友可以参考下
主要介绍了 Java 回调函数深入理解的相关资料,需要的朋友可以参考下
主要介绍了Java回调函数与观察者模式实例代码,简单介绍了使用观察者模式的场景,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
该资源包含一个简单的实现java的回调函数简单易懂。
Java回调函数的理解。通过在Android小程序下运行一个Java回调程序。代码内部有简单讲解。
NULL 博文链接:https://984247235.iteye.com/blog/2019730
JNA 回调函数工作不稳定现象处理 (绝大多数回调不稳定的原因)
个人对于回调函数的理解就是回调函数就是回头再调用的函数,哈哈,下面我们来详细探讨下回调函数。
亲测可用,java 成功调用dll函数。包含调用回调函数,springboot版本。最近由于公司业务需要,要调用dll文件,用JNA调用。