开发指南049-优化性能

如果发现某个操作耗时比较长,一般的解决框架如下:

一般都是发生在后台:

第一步 把整个流程从接收前端参数,到输出结果,按照业务逻辑划分为几个环节。

第二步 记录每个环节的耗时:

java 复制代码
Calendar dateTime = Calendar.getInstance();
Date begin = dateTime.getTime();
----环节一--
dateTime = Calendar.getInstance();
Date end = dateTime.getTime();
CommonsUtil.debugLog("==----环节一 耗时:[" + String.valueOf(end.getTime() - begin.getTime()) + "]毫秒 ");

类似写法获取环节二 环节三 ...

第三步 分析环节耗时,从最耗时的地方入手。

第四步 必要时,将环节拆分成子环节 重复上面操作二

另CommonsUtil.debugLog只有在系统处于调试状态时才输出结果:

nacos中配置对应微服务

qlm:

debug: true

相关推荐
凤凰院凶涛QAQ6 小时前
《Java版数据结构 & 集合类剖析》Map & Set & 反射:“从哈希碰撞到红黑树转换,反射帮你扒开 HashMap 的桶数组看个究竟”
java·数据结构·算法
H.莓飛6 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu1146 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
w_zero_one8 小时前
算法--模拟
java·数据结构·算法
Javatutouhouduan8 小时前
阿里1658页Java面试题总结(含答案)
java·高并发·java面试·java面试题·后端开发·java程序员·java八股文
秋天的怀念_David8 小时前
算法一千零一夜 · 第十三夜 幻方,武侠世界里的数学迷宫
java·程序人生·算法
专业程序开发源8 小时前
springboot欧缇蔓月子中心管理系统82697-计算机课程设计、毕业设计
java·spring boot·后端·python·spring·django·课程设计
秋天的怀念_David9 小时前
算法一千零一夜 · 第十四夜 幻方与奇妙的二进制
java·程序人生·算法
thefool1122669 小时前
网络编程^
java
Thinker QAQ9 小时前
并发编程(十一):Shared Memory 与 Message Passing——关系与组合使用
java·python·go·并发编程·shared memory·message passing