问题排查
文章平均质量分 78
skyline_wx
这个作者很懒,什么都没留下…
展开
-
PreparedStatement批量插入/更新数据优化——setObject与set具体类型的效率差异
使用做数据更新时,尽可能不要使用setObject方法,数据库中字段是什么类型,就set什么。还是不要太省事儿了。-_-||原创 2022-10-08 23:38:48 · 1528 阅读 · 1 评论 -
tomcat以服务方式启动后,jps、jstat等命令失效问题排查
将Tomcat注册成服务后,通过命令查找不到进程,但是在windows资源管理器中可以看到进程,同时使用命令提示not fount,但是命令正常,如下图:Tomcat启动系统访问正常Windows资源管理器中可以看到进程信息通过jsp命令找不到进程命令提示命令正常的工作原理其实也不复杂,jvm启动后,会在C:\Users\用户\AppData\Local\Temp\hsperfdata_用户下成文件,读的就这这个目录下的文件。现在这个目录是空的,所以查询后,也查不到信息。当我启动idea(i原创 2022-07-13 10:30:49 · 1779 阅读 · 0 评论 -
for example: not eligible for auto-proxying问题排查
最近项目上搭了一个demo,整合了。但是奇怪的是,服务起来之后在SpringBootAdmin中可以看到demo服务,但是无法监控到demo服务的jvm信息。查看源码后发现jvm相关的监控信息是由这个Bean处理的,再查看日志,在应用服务的日志中我们可以找到如下信息问题探究那么到底是个什么问题呢?这个问题就要从Spring的启动流程说起了。在Spring实例化Bean之前会先实例化所有的正常来说,所有的BeanPostProcessor都应该在所有的Bean实例化前实例化好,但是,BeanPostP原创 2022-06-03 18:26:32 · 20358 阅读 · 0 评论 -
使用@Lazy解决循环依赖问题
使用@Lazy解决循环依赖问题现象问题探索循环依赖产生的原因破除循环依赖@Lazy解决循环依赖的方式总结现象现在有两个Bean,一个叫beanA,一个叫beanB,beanA通过构造器依赖beanB,beanB通过 @Autowrited依赖beanA:BeanA.java@Componentpublic class BeanA { private final BeanB beanB; public BeanA(BeanB beanB) { this.beanB原创 2022-04-01 20:45:49 · 10423 阅读 · 4 评论 -
CGLIB代理Controller后导致空指针异常
Cglib代理Controller后导致空指针异常原始程序加入切面问题排查问题解决引申首先我们看下没有使用CGLIB对Controller进行代理时代码的样子原始程序@SpringBootApplicationpublic class CglibProxyProblemMain { public static void main(String[] args) { SpringApplication.run(CglibProxyProblemMain.class, args);原创 2022-03-28 23:41:24 · 1375 阅读 · 0 评论 -
Java性能优化心得
性能优化心得傻瓜式优化傻瓜一式傻瓜二式深入优化分享一下最近做的一次性能调优这是篇总纲性的性能优化心得,并不涉及具体的技术手段傻瓜式优化我把程序优化的初级阶段称为傻瓜式优化。傻瓜式的好处在于简单、明了、见效快。缺点就是这样的优化存在优化瓶颈,可能无法达到我们预期的性能指标。在程序性能调优过程中最常见的就是这种傻瓜式的优化。傻瓜一式当项目上出现性能问题,如果是针对特定操作的性能问题,那可以通过jstack pid来看线程dump,从线程dump中大概率可以看到比较明显的问题。然后我们进行针对性的调原创 2022-02-17 11:52:07 · 370 阅读 · 0 评论 -
log4j2核弹级漏洞原理和分析
log4j2漏洞原理和分析起因漏洞问题重现依赖常规的日志写法lookupsJndi Lookup漏洞补救漏洞解决起因这两天被log4j2的漏洞给刷屏了,就像下面这样但是很少有人提及这个漏洞到底是怎么回事儿。log4j2最为非常顶尖的日志框架,怎么会出现这种级别的漏洞呢?了解过漏洞的原理之后我发现,这应该算是一种低级漏洞了。原理就是JNDI代码注入。不过我也是先刷到了大都督的视频才了解了原因的Log4j高危漏洞!具体原因解析!全网第一!,不得不说,大都督还是叼。漏洞问题重现依赖首先,先码一下依赖原创 2021-12-11 20:41:34 · 21482 阅读 · 11 评论 -
HikariPool-1 - Connection is not available, request timed out after 6000ms
Connection is not available, request timed out after 6000ms问题排查论证通过demo重现问题总结问题今天项目上频繁出现了大量的这样的报错Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 6000ms. at com.zaxxer.hikari.pool.原创 2021-11-11 22:16:57 · 16939 阅读 · 0 评论 -
通过setFetchSize解决jdbc查询性能问题
记通过setFetchSize解决性能问题的方式题问题回顾原理探究问题回顾问题是这样的,这两天有个项目一直在实施阶段,然后项目上就反馈说,啊,你们东西怎么这么慢啊,这才刚开始啊…然后我就开始了排查:通过logger记录的日志的各个阶段的耗时来看,目前性能瓶颈主要体现在JdbcTemplate.query上了常规手段,先确认物理表中的数据量+查询语句+查询数据量+索引确认了一圈,物理表里一共1.4W条记录,本次查询8200多条记录,一共耗时2.5秒左右这就很离谱了,因为我们是内网环境重现问题,网原创 2021-08-24 17:42:22 · 2536 阅读 · 1 评论 -
Hikari连接池——java.lang.Exception: Apparent connection leak detected
Hikari连接池——java.lang.Exception: Apparent connection leak detected问题分析总结问题分析首先,先看报错:java.lang.Exception: Apparent connection leak detected at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128) ~[HikariCP-3.4.5.jar:?] at com.sky原创 2021-08-04 21:54:53 · 7201 阅读 · 0 评论 -
jmap创建堆dump异常:Error attaching to core file: cannot open binary file
今天在创建堆dump时出现了异常,Error attaching to core file: cannot open binary file,具体的报错信息如下:[xxxxx]# jmap 29082 -dump:live,format=b,file=aaaAttaching to core -dump:live,format=b,file=aaa from executable 29082, please wait...Error attaching to core file: cannot o原创 2021-06-11 23:42:14 · 11118 阅读 · 6 评论 -
服务已起动,但是访问不到问题排查
这两天遇到了一个服务启动完毕,但是通过浏览器访问不到的情况。记录一下排查过程:ping服务器ip,确认网络问题,网络通畅√telnet ip port,确认端口开放,端口可以访问√查看系统日志,看看是不是启动过程有报错导致服务启动失败,日志里没有明显的异常信息。通过top命令查看一下当前服务器cpu、内存、loadaverage等的状态,同时再次确认是否存在java进程,cpu、内存、loadaverage都没有明显异常√通过jps -v|grep 关键字定位pid,√top -p pid 然原创 2021-06-11 23:23:56 · 2348 阅读 · 0 评论