开发指南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

相关推荐
-Xie-32 分钟前
Redis(八)——多线程与单线程
java·数据库·redis
Kuo-Teng36 分钟前
LeetCode 279: Perfect Squares
java·数据结构·算法·leetcode·职场和发展
Filotimo_1 小时前
SpringBoot3整合Druid数据源
java·spring boot
百锦再1 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
乄bluefox1 小时前
Reactor 中的 doOnError 与 doOnCancel
java·reactor·rea
CoderYanger1 小时前
B.双指针——3194. 最小元素和最大元素的最小平均值
java·开发语言·数据结构·算法·leetcode·职场和发展·1024程序员节
程序猿20231 小时前
项目结构深度解析:理解Spring Boot项目的标准布局和约定
java·spring boot·后端
RainbowSea2 小时前
内网穿透配置和使用
java·后端
RainbowSea2 小时前
13. Spring AI 的观测性
java·spring·ai编程
心之伊始2 小时前
Java synchronized 锁升级全过程深度解析:从 Mark Word 到偏向锁、轻量级锁与重量级锁的 HotSpot 实现
java·开发语言·word