Java 编程的动态性, 第四部分: 用 Javassist 进行类转换
2010-03-18 00:00:00 来源:WEB开发网清单 1. 需要计时的方法
public class StringBuilder
{
private String buildString(int length) {
String result = "";
for (int i = 0; i < length; i++) {
result += (char)(i%26 + 'a');
}
return result;
}
public static void main(String[] argv) {
StringBuilder inst = new StringBuilder();
for (int i = 0; i < argv.length; i++) {
String result = inst.buildString(Integer.parseInt(argv[i]));
System.out.println("Constructed string of length " +
result.length());
}
}
}
添加方法计时
因为有这个方法的源代码,所以我将为您展示如何直接添加计时信息。它也作为使用 Javassist 时的一个模型。清单 2 只展示了 buildString() 方法,其中添加了计时功能。这里没有多少变化。添加的代码只是将开始时间保存为局部变量,然后在方法结束时计算持续时间并打印到控制台。
清单 2. 带有计时的方法
private String buildString(int length) {
long start = System.currentTimeMillis();
String result = "";
for (int i = 0; i < length; i++) {
result += (char)(i%26 + 'a');
}
System.out.println("Call to buildString took " +
(System.currentTimeMillis()-start) + " ms.");
return result;
}
更多精彩
赞助商链接