Java后端项目排错经验分享

news2024/9/29 9:19:20

导致错误的原因有很多,最常见的无非也就那么几种:

1、粗心导致的格式问题以及代码多写少写错写字母的问题

2、代码逻辑问题

3、框架版本不匹配问题

无论是哪种问题,排查错误的方式最好最便捷的方式有调试+日志,那么如果是线上问题的话,单步调试是不太可能了,所以最重要的还是要学会如何看日志,一个项目有没有灵魂就看日志打的怎么样了,接下来带大家解读一个springboot项目启动时打的一些日志;

前提:这里博主使用了一个springboot项目集成nacos,nacos开启鉴权后的项目;

启动时,项目会告诉你,加载权限客户端成功,加载了两个类,分别是com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl类和com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl,

接下来会告诉你要加载nacos配置中心的配置文件了,

首先告诉你,忽略空的nacos配置,并根据dataId[merit-appraise]&group[MERIT_GROUP]获取它,然后告诉你加载了哪些配置文件,图中红框圈了有三个,项目启动的时候会默认加载你项目中配置了application.name和profile.active这两个属性的值拼起来的文件;

博主这里只配置了application.name,没有配置profile.active,那么也就是在启动的时候会加载一个名为merit-appraise的文件,然而在我的nacos配置中是没有名为merit-appraise的配置的,所以相当于加载了一个空的配置文件,另外加载的两个配置是根据自己在配置文件中配置的文件来进行加载的,

之后也就是会告诉你,启动了web服务器tomcat,耗时多少多少时间;

总之,你要知道的是,项目报的错,都会通过日志的方式打出来告诉你,你要学会如何去看,分析日志中有的信息,会让你在排错的道路上效率翻倍,不要盲目的拿一个错误信息就去百度查,属于没动脑子干事;自己写的业务逻辑代码,也要会自定义打日志,入参,出参,返回值,异常信息,一样都不能少,这种大量的打日志操作势必会影响业务逻辑代码的性能,所以这里小编后续再给大家分享如何将业务逻辑与非业务逻辑代码做隔离;让非业务逻辑代码例如打日志这种操作不会影响业务逻辑代码执行的效率;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/186355.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【头歌】循环队列及链队列的基本操作

第1关:循环队列的基本操作任务描述本关任务是实现循环队列的基本操作函数,以实现判断队列是否为满、是否为空、求队列元素个数、进队和出队等功能。相关知识队列的基本概念队列(简称队)也是一种运算受限的线性表,在这种…

Kubernetes集群搭建 (未完待续)

Kubernetes集群搭建 目录 前言前期准备K8S集群安装 虚拟机设置安装K8S集群k8s部署Nginx 附录1 Docker安装附录2 yum k8s 问题附录3 k8s start问题附录4 k8s master init 前言 本文指定Docker与K8s版本,保证兼容性,可供参考 Docker‐ce‐3:19.03.9‐3…

推荐7个高质量图片素材网站

这期给大家分享7个免费、高质量图片素材网站,而且无版权,不用担心侵权!建议收藏。 1、潮点视频 https://shipin520.com/shipin-tp/0-1329-0-0-0-0-0-0-0-1.html?from_code2510 网站主要以提供高质量视频素材为主,但也有大量的配…

基于FPGA的啸叫检测与抑制系统设计与实现verilog

针对啸叫的问题,本文设计了一种基于移频算法的啸叫抑制器。采用高性能音频编解码芯片对音频信号采样,移频器对采样所得的音频信号进行移频,移频频率范围为0~8Hz,再用音频芯片输出,采用FFT算法计算出啸叫点频率值,显示在LCD1602上,此移频器可达到快速有效的啸叫抑制效果。…

【JVM】垃圾回收之对象已死

文章目录1. 概述2. 引用计数算法3. 可达性分析算法4. 引用的分类4.1 软引用的应用本文参考:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版) 1. 概述 总所周知,垃圾收集器的任务就是将“死去”的对象回收。 那么&a…

自动驾驶感知——毫米波雷达

文章目录1. 雷达的基本概念1.1 毫米波雷达分类1.2 信息的传输1.3 毫米波雷达的信号频段1.4 毫米波雷达工作原理1.4.1 毫米波雷达测速测距的数学原理1.4.2 毫米波雷达测角度的数学原理1.4.3 硬件接口1.4.4 关键零部件1.4.5 数据的协议与格式1.5 车载毫米波雷达的重要参数1.6 车载…

94. BERT以及BERT代码实现

1. NLP里的迁移学习 使用预训练好的模型来抽取词、句子的特征 例如word2vec 或语言模型 不更新预训练好的模型需要构建新的网络来抓取新任务需要的信息 Word2vec忽略了时序信息,语言模型只看了一个方向Word2vec只是抽取底层的信息,作为embedding层&…

数据太多?3款免费数据分析软件,分分钟解决

本文分享下我在做数据分析时用过的几个简单易上手的数据可视化软件。 先放上目录: 数据统计收集类——简道云数据图表美化类——图表秀数据开发类——Echart 01 简道云 https://www.jiandaoyun.com/ 适用于:想要“简单易上手”适合业务人员&#xff0…

TF-A源码移植的过程

1.解压标准 tf-a 源码包: tar xfz tf-a-stm32mp-2.2.r2-r0.tar.gz 2.将 ST 官方补丁文件打到 tf-a 源码中: 3.配置交叉编译工具链: 进入~/FSMP1A/tf-a-stm32mp-2.2.r2-r0$ 目录下,打开Makefile.sdk 将如下内容进行更改 4.复制设…

【前端设计】监控顺序返回型总线超时的计时器模块设计

前言 总线超时检查机制是系统中必要的模块设计,用于在总线无法返回response时能够及时上报中断。从理论上分析,如果总线发生了诸如挂死或者物理损坏等超时行为,无论计时器上报timeout的时间偏大还是偏小,都是一定可以上报中断的。…

Xilinx MicroBlaze系列教程(适用于ISE和Vivado开发环境)

本文是Xilinx MicroBlaze系列教程的第0篇文章。这个系列文章是我个人最近两年使用Xilinx MicroBlaze软核的经验和笔记,以Xilinx ISE 14.7和Spartan-6,以及Vivado 2018.3和Artix-7为例,介绍MicroBlaze软核、AXI系列IP核的软硬件使用,希望能帮助到更多的人。 MicroBlaze是Xil…

什么是有限元分析?能用来干什么

您是否想过工程师和制造商如何测试他们设计的耐用性、强度和安全性?如果您看过汽车广告,您可能会相信工程师和设计师不断地破坏他们的产品以测试其强度。您可能会得出结论,制造商会重复此过程,直到设计能够承受巨大的损坏并达到可…

夜游经济:夜景“亮化”,形象“美化”,经济“活化”

复杂的国际形势之下,扩大国内消费需求,激发消费市场潜力,堪称疫后经济复苏振兴的“金钥匙”。这一背景下,大力发展夜游经济,成为提振国内消费需求、促进城乡居民就业、拉动经济复苏增长的重要突破口。去年以来&#xf…

无法超越的100米_百兆以太网传输距离_网线有哪几种?

对网络比较了解的朋友,都知道双绞线有一个“无法逾越”的“100米”传输距离。无论是10M传输速率的三类双绞线,还是100M传输速率的五类双绞线,甚至1000M传输速率的六类双绞线,最远有效传输距离为100米。在综合布线规范中&#xff0…

Qt下实现欧姆龙PLC 串口发送HOSTLINK(FINS)模式

文章目录前言一、HOSTLINK协议说明二、校验码(FCS)计算三、示例完整代码四、下载链接总结前言 本文讲述了Qt下模拟串口调试工具发送HOSTLINK(FINS)模式,主要进行了HR保持区的字和位的读写,对HOSTLINK协议中…

记一次CPU飚高以及排查过程

一.cpu突然飚高 收到系统频发的cpu超过90%的告警.虽然是在非线上环境出现.接到告警后第一反应还是去重启了机器,重启后cpu如期的下降了下来.以为能高枕无忧,不过一会儿还是收到了告警. 二.排查 2.1 top 指令查看物理机进程id 申请了堡垒机权限登上机器 top指令后.如下确实发…

微服务,Docker, k8s,Cloud native 云原生的简易发展史

微服务发展史 2005年:Dr. PeterRodgers在Web ServicesEdge大会上提出了“Micro-Web-Services”的概念。2011年:一个软件架构工作组使用了“microservice”一词来描述一种架构模式。2012年:同样是这个架构工作组,正式确定用“micr…

万字详解 C 语言文件操作

目录 一、什么是文件? 1.1 - 文件和流的基本概念 1.2 - 文件的分类 1.3 - 文件名 二、缓冲文件系统和非缓冲文件系统 三、文件指针类型 四、文件的打开和关闭 4.1 - fopen 4.2 - fclose 五、文件的顺序读写 5.1 - 字符输出函数 fputc 5.2 - 字符输入函数…

【Kubernetes 企业项目实战】06、基于 Jenkins+K8s 构建 DevOps 自动化运维管理平台(上)

目录 一、k8s 助力 DevOps 在企业落地实践 1.1 传统方式部署项目为什么发布慢,效率低? 1.2 上线一个功能,有多少时间被浪费了? 1.3 如何解决发布慢,效率低的问题呢? 1.4 什么是 DevOps? …

【JavaScript】原型链

文章目录构造函数原型对象访问机制内置构造函数一切皆对象原型链构造函数 - 本质还是一个函数- 和 new 关键字连用- 特点1. 自动创建一个对象2. 自动返回一个对象3. 让函数的this指向这个对象 书写构造函数的时候1. 属性写在函数内2. 方法写在原型上构造函数的不合理 把方法写在…