public class Test {
public static void main(String[] args) {
StopWatch stopWatch = new StopWatch();
stopWatch.start();
try {
Thread.currentThread().sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
stopWatch.stop();
System.out.println(stopWatch.prettyPrint());
}
}
或
打印每个任务执行时间,以及占总时间百分比 package com.common.suanfa; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import org.springframework.util.StopWatch; public class Singleton { public static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { Class name = Class.forName("com.common.suanfa.Singleton"); Method[] m = name.getDeclaredMethods(); StopWatch stopWatch = new StopWatch("test"); Object o = name.newInstance(); for (Method mm : m) { if (mm.getName() != "main") { stopWatch.start(mm.getName()); mm.invoke(o); stopWatch.stop(); } } System.out.println(stopWatch.prettyPrint()); } private static void method1() { int i = Integer.MAX_VALUE; long sum = 0l; while (i-- > 0) { sum += i; } System.out.println(sum); } private static void method2() { int i = Integer.MAX_VALUE; long sum = 0l; while ((i -= 5) > 0) { sum += i; } System.out.println(sum); } } output: 2305843005992468481 461168600339500238 StopWatch 'test': running time (millis) = 1566 ----------------------------------------- ms % Task name ----------------------------------------- 01428 091% method1 00138 009% method2