博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java小工具:TimingTools
阅读量:6865 次
发布时间:2019-06-26

本文共 1096 字,大约阅读时间需要 3 分钟。

hot3.png

/** *  * @author yanglk 
* Create Time:2017-11-13 16:48:37
* yanglk2010@sina.com * @since 1.0 * @version 1.0 */public class TimingTools { private final static Logger logger = LoggerFactory.getLogger(TimingTools.class); private final static ThreadLocal
> timeMap = ThreadLocal.withInitial(()->new HashMap<>()); /** * 模拟js中console.time("log"),console.timeEnd("log"); * 结果显示log:%dms * * @param name 输入名称 */ public static void time(String name) { if(validate(name)) return; getMap().put(name, System.currentTimeMillis()); } public static void timeEnd(String name) { try { if(validate(name)) return; logger.debug("{}:{}ms", name, (System.currentTimeMillis()-getMap().get(name))); }finally { getMap().remove(name); } } private static Map
getMap(){ return timeMap.get(); } private static boolean validate(String name) { if(name==null||name.trim().length()<=0||getMap().get(name)==null) { logger.info("TimingTools.timeEnd 输入参数[name]不能为空"); return true; } return false; }}

 

转载于:https://my.oschina.net/u/2311195/blog/1648647

你可能感兴趣的文章
安卓单元测试 (十):DaggerMock, 让 Dagger2 与单元测试的结合易如反掌
查看>>
EventLoop
查看>>
css 技巧汇总
查看>>
细说 Angular 2+ 的表单(一):模板驱动型表单
查看>>
vue cli 框架搭建
查看>>
免信任型计算的扩容模型,Part-1
查看>>
伪装位置
查看>>
JVM垃圾回收算法有哪几些?
查看>>
CSS 属性篇(二):transform属性
查看>>
Go语言中的Interface
查看>>
谈谈Promise那点事(二)
查看>>
express+request实现-图夫在线爬取网页图片
查看>>
ES6:数组扩展
查看>>
关于同步的一点思考-下
查看>>
ADB原理,Wi-Fi连接,常用命令及拓展
查看>>
Python学习之网络编程
查看>>
Eclipse 如何快速修改工程名及包名
查看>>
spring cloud微服务分布式云架构 - Spring Cloud简介
查看>>
Android之哭笑不得的BUG--RelativeLayout设置的marginbottom失效,马萨卡..
查看>>
Application.onCreate()会造成Service启动ANR么?
查看>>