java的回调技术浅谈
我们经常会用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++){
}
}
}
}, "循环");
}
}
相关文档:
31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
SessionBean:Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个Stateful S ......
1. Java保存的文件名必须与类名一致;
2. 如果文件中只有一个类,文件名必须与类名一致;
3. 一个Java文件中只能有一个public类;
4. 如果文件中不止一个类,文件 ......
一、同步问题提出
线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。
例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。
public class Foo {
private int x = 100;
public int getX() {
&nbs ......
下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。
1. 原始单据与实体之间的关系
可以是一对一、一对多、多 ......
java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。
substring()
它有两种形式,第一种是:String  ......