• spring计时工具类stopwatch用法


    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
  • 相关阅读:
    Foundations of Machine Learning: The PAC Learning Framework(2)
    Foundations of Machine Learning: The PAC Learning Framework(1)
    图形渲染流水线
    如何用python的装饰器定义一个像C++一样的强类型函数
    Python 装饰器学习心得
    PAT 1087 All Roads Lead to Rome
    PAT 1086 Tree Traversals Again
    PAT 1085 Perfect Sequence
    PAT 1084 Broken Keyboard
    LeetCode: Sort Colors
  • 原文地址:https://www.cnblogs.com/panxuejun/p/7839112.html
Copyright © 2020-2023  润新知