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

相关推荐
Java爱好狂.6 分钟前
复杂知识简单学!Springboot加载配置文件源码分析
java·spring boot·后端·spring·java面试·后端开发·java程序员
Array*9 分钟前
java实现word中插入附件(支持所有文件格式)
java·开发语言·word·poi·ole
Donald_brian16 分钟前
线程同步
java·开发语言·jvm
全靠bug跑30 分钟前
Nacos 入门实战:部署、服务注册与发现全指南
java·spring cloud·docker·nacos
郑州光合科技余经理30 分钟前
技术视角:海外版一站式同城生活服务平台源码解析
java·开发语言·uni-app·php·排序算法·objective-c·生活
喵了meme31 分钟前
Linux学习日记19:线程同步与互斥锁
java·jvm·学习
郑州光合科技余经理32 分钟前
海外版生活服务系统源码 | 外卖+跑腿一站式平台技术解析
java·开发语言·javascript·git·spring cloud·php·生活
小小Fred32 分钟前
Cortex-M3 LR寄存器的特殊值EXC_RETURN
java·开发语言·jvm
小小心愿家33 分钟前
线程——对于锁的进一步认识
java·开发语言
曹牧39 分钟前
Java: FATAL ERROR: processing of -javaagent failed
java·开发语言