黑马程序员技术交流社区

标题: 如何写一个返回任意方发执行时间的方法? [打印本页]

作者: zealler    时间: 2017-7-20 13:36
标题: 如何写一个返回任意方发执行时间的方法?
这是今天讲system类时老师提出的问题。统计任意方法执行所用时间很简单,关键是如何封装成方法?让她能用来统计任意方法的执行时间呢??????求大神指点一二

作者: zealler    时间: 2017-7-20 20:13
自顶,没学反射映射啥的

作者: 火小枪    时间: 2017-8-10 21:01
现在回复应该来不及了。。。就当练手了,用模版方法实现:先定义一个抽象类,定义计算时间的方法,其中具体的执行方法抽象化,留给子类实现
[Java] 纯文本查看 复制代码
public abstract class GetTime {//抽象类
                public  void getTime(){
                        long t1 = System.currentTimeMillis();
                        method();//要计算时间的方法
                        long t2 = System.currentTimeMillis();               
                        System.out.println("运行时间: " + (t2 -t1));
                }
                public abstract void method( ) ;
}

[Java] 纯文本查看 复制代码
public class TestGetTime {

        public static void main(String[] args) {
                new GetTime() {
                        @Override
                        public void method() {
                                test();// 调用测试方法
                        }
                }.getTime();
        }

        private static void test() {// 测试用方法
                for (int i = 0; i < 10; i++) {
                        try {
                                Thread.sleep(500);
                        } catch (InterruptedException e) {
                                e.printStackTrace();
                        }
                        System.out.println(i);
                }
        }

}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2