import java.util.Random;
import org.junit.Test;
/**
*
* @author liangjun
* @descriptionTODO 利用回调函数记录方法运行时间,处理异常等
*/
public class CallBackDemo {
@Test
public void testLog() {
final CallBackDemo app = new CallBackDemo();
LogUtil.getInstance().log(new CallBack() {
publicvoid execute() throws InterruptedException {
app.run();
}
});
}
protected void run() throws InterruptedException {
Thread.sleep(new Random().nextInt(2000));
System.out.println("I believe i can fly!");
throw new RuntimeException("抛出运行时异常!");
}
}
/**
*
* @author liangjun
* @descriptionTODO回调函数接口
*/
interface CallBack {
void execute() throws InterruptedException;
}
/**
*
* @author liangjun
* @descriptionTODO 记录方法运行时间;处理异常;
*/
class LogUtil {
private static LogUtil log;
private LogUtil(){
}
public static LogUtil getInstance() {
if(null == log) {
synchronized (LogUtil.class) {
if(null == log) {
log = new LogUtil();
}
}
}
returnlog;
}
publicvoid log (CallBack cb) {
long start = System.currentTimeMillis();
try {
cb.execute();
}catch(Exception e) {
System.out.println(String.format("利用回调函数处理: %s", e.getMessage()));
}
long end = System.currentTimeMillis();
System.out.println(String.format("%s 运行时间: %s ms!", cb.getClass().getName(),(end - start)));
}
}
相关推荐
java 回调函数 自己模拟实现 使用了接口来完成
Java 回调函数详解 前言: C语言中回调函数解释: 回调函数(Callback Function)是怎样一种函数呢? 函数是用来被调用的,我们调用函数的方法有两种: 直接调用:在函数A的函数体里通过书写函数B的函数名来调用...
Java 回调函数详解及使用
亲测可用,java 成功调用dll函数。包含调用回调函数,springboot版本。最近由于公司业务需要,要调用dll文件,用JNA调用。
主要介绍了Java回调函数与观察者模式实例代码,简单介绍了使用观察者模式的场景,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
java实现--企业微信回调配置案例及工具代码
下面使用java回调函数来实现一个测试函数运行时间的工具类:如果我们要测试一个类的方法的执行时间,通常我们会这样做: public class TestObject { /** * 一个用来被测试的方法,进行了一个比较耗时的...
主要介绍了C#中异步回调函数用法,实例分析了异步回调函数的定义及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
回调函数概念:回调函数就是一个通过函数指针调用的函数。... 使用回调函数的原因:可以把调用者与被调用者分开。调用者不关心谁是被调用者,所有它需知道的,只是存在一个具有某种特定原型、某些限制条件(如返回值
在使用DWR的时候,回调函数可以作为第一个或者最后一个参数出现,如: JScript code function callBack(result){ } myDwrService.doSomething(param1,param2,callBack);//DWR的推荐方式 //或者 myDwrService....
java回调机制: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。 >同步调用:一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用; >回 调:一种...
把函数作为参数传入到另一个函数中。这个函数就是所谓的回调函数 经常遇到这样一种情况,某个项目的A层和B层是由不同的人员协同完成.A层负责功能funA,B层负责funcB。...这时候就需要使用回调函数 因此,回调本质上是
一个实现回调方式的示例,简单来说回调方法的函数参数是接口,是方法
1.概述 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。 同步调用:一种阻塞式调用,调用方... 所谓回调,是客户程序CLIENT调用服务程序SERVER中的某个函数
jQuery回调函数简单使用 比如说,我们想要点击某个按钮后触发事件, 先把一些指定内容给隐藏掉, 然后跳出相关信息的对话框。 如果使用普通的方法, 不用回调函数的话, 会有怎么样的效果呢? 效果是先弹出对话框再...
回调函数,顾名思义,用于回调的函数。回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。
C++使用JNI多线程回调java代码例子,因为依赖了我的一些库和头文件,没有传上去,编译不过,但是大家可以参考一下,如何使用C++多线程调用java函数
而在php调用回调函数,不想c以及java那样直接使用函数名作为函数参数,而是在php中使用函数对应的字符串名称执行 1.1、无参数回调 <?php //无参数回调 function callback(){ echo 'execute no parameters ...
微信小程序中使用javascript 回调函数 回调函数原理: 我现在出发,到了通知你” 这是一个异步的流程,“我出发”这个过程中(函数执行),“你”可以去做任何事,“到了”(函数执行完毕)“通知你”(回调)进行...