• 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
  • 相关阅读:
    采购到入库所经历的表
    PO 收料SQL
    关于PO 和PR 的联系问题
    在Oracle Form中,如何实现自动编号(行号)的功能
    订单暂挂问题sql解决:
    类和结构的区别?
    DataTable.Select 方法 (String, String, DataViewRowState)
    Ref与Out的区别
    C# 反射
    委托
  • 原文地址:https://www.cnblogs.com/panxuejun/p/7839112.html
Copyright © 2020-2023  润新知