java 类确定运行时间_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()方法,就只有"//测试方法"是需要改变的,下面我们来做一个函数实现相同功能但更灵活:
首先定一个回调接口:
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()方法就可以实现回调功能
java 类确定运行时间_java回调函数实例:实现一个测试函数运行时间的工具类相关推荐
- spring 使用其他类protected方法_Java操作bean、属性、方法的使用工具类
在实际的项目开发中,反射操作类的实例.属性赋值.执行方法是常规的操作,虽然spring提供了比较完整的API来执行上述操作,不过在实际的应用中,spring的函数隐藏比较深,比较分散,小伙伴们可能懒得 ...
- 银联银行卡卡号java_编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类...
编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类 编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类,银联借记卡号是一个 19 位的数字,卡号以"62" ...
- opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类
opengl中的Floatbuffer和IntBuffer与java中数据的存储方式不同的解决方法,编辑一个自己的BufferUtil工具类 参考文章: (1)opengl中的Floatbuffer和 ...
- python调用公共方法_common: 这是一个Python的公共工具类,集成了各种主要的python常用方法...
common 介绍 这是一个Python的公共工具类,集成了各种主要的python常用方法. 本人是做java开发的,学习python很多情况下是把他当做一个脚本来使用,在使用的过程中,发现很多的功能 ...
- 封装一个常用的js工具类
/*** @author:水痕* @timer:2016-07-28* @email:332904234@qq.com* @version:1.0* @title:封装一个自己常用的工具类js* @n ...
- 一个显示日期的工具类
一个显示日期的工具类 .h文件 #import <Foundation/Foundation.h>@interface TimeUtil : NSObject+ (NSString*)ge ...
- wsm-lucene 一个简单的Lucene工具类
代码地址: https://gitee.com/shaojiepeng/wsm-lucene wsm-lucene 一个简单的Lucene工具类,通过注释的方式来配置构建索引的字段.提供新建索引.查找 ...
- java 数字翻译成英文_Java实现将数字日期翻译成英文单词的工具类实例
本文实例讲述了Java实现将数字日期翻译成英文单词的工具类.分享给大家供大家参考,具体如下: package com.sunyard.etp.ag.util; import java.math.Big ...
- java中参数存储_Java中函数参数传递和数据存储
值传递是将要传递的值作为一副本传递的.. 引用传递,传递的是引用对象的内存地址.. 例如: int i=4; int j=i; //相当于把4复制了一个副本赋给了j 输出结果是i=4 ,j=4 C ...
最新文章
- tf.keras.losses.MeanAbsoluteError 损失函数 示例
- anaconda tensorflow 2.3_安装anaconda amp;源码安装lightgbm,xgboost
- Struts2的核心文件
- 2008--2009年北京航空航天大学计算机研究生机试真题
- java mvc模式_Java MVC模式
- 删除Windows Service
- React开发(175):注意在回调里面重新渲染列表
- Linux Shell高级技巧(三)
- 超全机器学习工程师成长路线图,GitHub已收获6400+Star!
- 集成CAS单点登录 决策系统的配置以及注意事项
- cocos2d-x游戏引擎核心(3.x)----事件分发机制之事件从(android,ios,desktop)系统传到cocos2dx的过程浅析...
- Flex 与.net 进行通信可以通过Fluorine(fluorinefx),WebORB For .net,Socket
- 第四次黄鹤楼之老照片
- Java使用POI导出Excel
- 深入浅出的mysql第三版和第二版的区别_1.高性能MySQL(第3版) 2. 深入浅出MySQL 合集 完整版 高清...
- 软考高项之项目变更管理
- HDU3533Escape(BFS )
- 2020年下半年系统架构设计师下午真题及答案解析
- 我们需要“梦想比回忆多”的精神
- android dd命令,【测试人员技能】Android shell 下dd命令浅析
热门文章
- linux用户、用户组 增删改查专栏
- Spring项目启动加载xml配置文件替换数据库提高响应速度
- GitHub下载文件时缓慢的问题
- Vue封装hbuilder热更新
- 输入文字自动生成图片_原来Word还可以自动生成图片和图表目录!
- oracle导入dmp清除之前,oracle导入dmp遇到的有关问题
- mysql event 变量_mysql 中event的用法
- C语言 while 循环 - C语言零基础入门教程
- Python 列表List - Python零基础入门教程
- android判断usb已连接,android 判断是否有网络连接(usb连接电脑问题)