所有文章

  • 【原】利用mat分析hprof文件排查线上oom问题

    利用mat分析hprof文件排查线上oom问题利用mat分析hprof文件排查线上oom问题利用mat分析hprof文件排查线上oom问题利用mat分析hprof文件排查线上oom问题

    之前给大家演示jvmsualvm分析oom的时候,我准备了两份hprof文件,其中有一份名为eureka.hprof的文件,是我使用jmap-dump命令手动从服务器上导出来的,当时服务器已经卡死了,所以我没办法利用arthas连接到jvm进程,而且我也无法使用jstack命令来精确定位代码,能定位到的也是GC线程。没办法,我只好将当时的jvm堆内存导出来一份hprof文件,以期对这份文件能分析出结果,最后也是不出我所料,确实从这份文件中找到了导致oom的原因。不幸的是,虽然将hprof文件导出来了,但是却无法通过jvisualvm工具来分析它,因为还没有来得及出现oom异常。如上图,jvi...

    不忘初心 不忘初心 2022-06-17 围观(3052) 评论(0) 点赞(2) JAVA开发

  • 【原】MySQL数据库时间和jdbc查询时间相差12小时

    MySQL数据库时间和jdbc查询时间相差12小时MySQL数据库时间和jdbc查询时间相差12小时MySQL数据库时间和jdbc查询时间相差12小时MySQL数据库时间和jdbc查询时间相差12小时

    最近在公司的一个新项目中,在提测的时候出现了很多时间不对的问题,列表上显示的时间对不上本地机器的时间,表现为MySQL数据库时间和jdbc查询时间相差整12个小时,这种问题多半都是时区不对导致的时间差。因为是新项目,所以部署的Linux服务器也是一台新的,没有使用rds,而是直接在这台Linux服务器上手动安装了一个MySQL,所以同事跟我说的时候,我第一反应就是机器的时间没设置好。如上图,我使用date查看了一下系统时间,发现这个时间其实是没问题的,进而怀疑是MySQL自身时区设置的有问题。为了验证,使用selectnow()在mysql中查询一下当前时间,发现now()查询出来的时间也是...

    不忘初心 不忘初心 2022-06-14 围观(229) 评论(1) 点赞(6) JAVA开发

  • 【原】记一次EasyExcel读取xlsx文件实体bean数据全部为null的问题

    JAVA开发记一次EasyExcel读取xlsx文件实体bean数据全部为null的问题

    很早之前使用过一次EasyExcel,换到新公司之后,由于公司自己封装的有Excel工具类,所以就很久没有用过EasyExcel了,最近公司重构底层基础框架,我推荐引入了EasyExcel,本想着给同事秀一波技能,结果没想到分分钟打脸。如山图所示,在使用EasyExcel读取xlsx文件之后,使用index索引对应的方式来映射实体bean,却拿到了一个空对象,里面的字段全部为null,这可真是太操蛋了。以为自己代码哪里写错了,跑去检查了一下之前的代码,发现并没有哪里写错了,读取方式,以及listener都一样,唯一不同的地方就在于,之前的项目中接收入参的java对象没有使用lombok,而这次...

    不忘初心 不忘初心 2022-06-04 围观(1486) 评论(0) 点赞(6) JAVA开发

    阅读更多
  • 【原】MybatisPlus插入数据报错syntax error: syntax error, expect ')', pos 38, line 1, column 39, token EOF

    JAVA开发MybatisPlus插入数据报错syntax error: syntax error, expect ')', pos 38, line 1, column 39, token EOF

    日常查看一个线上项目错误日志,发现有一个低级的sql错误:java.sql.SQLException:sqlinjectionviolation,dbTypemysql,,druid-version1.2.1,syntaxerror:syntaxerror,expect')',pos38,line1,column39,tokenEOF,这么久了竟然都没人发现。org.springframework.jdbc.UncategorizedSQLException:###Errorupdatingdatabase.Cause:java.sql.SQLEx...

    不忘初心 不忘初心 2021-12-07 围观(3955) 评论(0) 点赞(10) JAVA开发

    阅读更多
  • 【原】Transaction rolled back because it has been marked as rollback-only

    JAVA开发Transaction rolled back because it has been marked as rollback-only

    最近在整理以前的工作笔记,又发现一个有意思的bug,在一个service调用另外一个类的方法时,出现了一个spring的事务问题,Transactionrolledbackbecauseithasbeenmarkedasrollback-only,时间过去有点儿久了,不记得是压测时出的问题还是线上运行时出的问题了。2021-01-2519:42:00.025[pool-3-thread-1]ERRORo.s.s.support.TaskUtils$LoggingErrorHandler-Unexpectederroroccurredinschedu...

    不忘初心 不忘初心 2021-12-05 围观(982) 评论(0) 点赞(24) JAVA开发

    阅读更多
  • 【原】Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean

    JAVA开发Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean

    由于springboot项目内嵌了tomcat,所以一般都会将项目打包成jar包来进行发布,而并非以前的war包,但是公司有一个项目依旧将springboot项目打成war包,然后丢到tomcat容器中运行,这样就需要兼容本地启动调试和线上运行,涉及到tomcat依赖的地方就需要格外注意,一不小心就会导致有一边儿会启动失败。整理之前的笔记,发现以前还真碰到过这个问题,本地能正常启动,但是发布到线上的时候就报错:UnabletostartServletWebServerApplicationContextduetomissingServletWebS...

    不忘初心 不忘初心 2021-12-04 围观(1619) 评论(0) 点赞(4) JAVA开发

    阅读更多
  • 【原】com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections

    JAVA开发com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Too many connections

    前端时间公司一个项目在上线之前进行了压测,在代码和数据库都没有优化的情况下,QPS连200都上不去,服务器性能不是很差,两台4C8G的Linux服务器,去看了一眼服务器的日志,发现了一些MySQL的错误:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:Toomanyconnections,而且很多一模一样的。2021-01-0715:30:51.919[localhost-startStop-1]ERRORcom.alibaba.druid.pool.Drui...

    不忘初心 不忘初心 2021-12-03 围观(32) 评论(0) 点赞(4) JAVA开发

    阅读更多
  • 【原】前端上传附件失败nginx出现408错误

    JAVA开发前端上传附件失败nginx出现408错误

    前端在上传附件的时候一直报错,但是查看后端压根就没有请求进来,在本地调试的时候就没有这个错误,代码没有不同,唯一不同的就是外网用的是正式域名,多走了一道nginx解析,跑去一看,还真的是nginx出了问题,在nginx的log中看到这个出错的请求对应的状态码是408。在看到这个错误之后,又多测试了几次,发现上传1M以内的文件是不会报错的,超过1M的文件就上传不了,而这个出错的文件就是一张1.1M的图片,此时已经能看出问题就是出在这里了,nginx在传输数据的时候,对数据的体积大小默认是1M,所以我传了超过1M的文件就会一直失败。查阅nginx官方资...

    不忘初心 不忘初心 2021-11-30 围观(4273) 评论(0) 点赞(1) JAVA开发

    阅读更多
  • 【原】One or more listeners failed to start. Full details will be found in the appropriate container log file

    JAVA开发One or more listeners failed to start. Full details will be found in the appropriate container log file

    Tomcat的logs目录下有很多种前缀的log,平时看的最多的就是catalina前缀的log,从来没有关注过localhost前缀的log,今天公司的测试环境项目突然访问不了,同事说Tomcat启动没报错,但是就是访问接口404,百思不得其解,我把日志文件catalina.out拖下来仔细检查了一下,发现log中确实没有报错,但是项目正常启动的log日志打印了一半就没了。如上图,从我红框处开始,就没有正常的启动日志了,而出现了DataSource关闭时,那一定是项目关闭了,否则数据源不会无缘无故关闭,可以看到确实没有error信息,但接着往下看...

    不忘初心 不忘初心 2021-09-02 围观(1242) 评论(0) 点赞(0) JAVA开发

    阅读更多
  • 【原】generate failed: Cannot instantiate object of type com.wolffy.jwcz.plugin.MyCommentGenerator

    JAVA开发generate failed: Cannot instantiate object of type com.wolffy.jwcz.plugin.MyCommentGenerator

    在上一篇文章中,给大家讲述了我是如何解决mybatis-generator不生成字段注释的问题,在我一开始尝试的时候,还碰见了一个小问题:“generatefailed:Cannotinstantiateobjectoftypecom.wolffy.jwcz.plugin.MyCommentGenerator”,在这里给它记录下来。手抖,错误信息没复制全,只有这一点儿了,大家将就着看一下。Failedtoexecutegoalorg.mybatis.generator:mybatis-generator-maven-plugin:1.3.6:gen...

    不忘初心 不忘初心 2020-10-09 围观(3535) 评论(0) 点赞(2) JAVA开发

    阅读更多
  • 【原】springmvc+mybatsi-generator生成不了字段注释的解决方案

    JAVA开发springmvc+mybatsi-generator生成不了字段注释的解决方案

    在我早期搭建我的个人博客的时候,由于当时比较空闲,所以就没有使用mybatis-generator框架来生成mybatis文件,都还是自己一个个的亲手写,这次重构的时候,就想着将它框架集成进去,但也不知道为了点儿啥,就是生成不了mysql表字段的注释。<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEgeneratorConfigurationPUBLIC"-//mybatis.org//DTDMyBatisGeneratorConfiguration1.0//EN""http://myba...

    不忘初心 不忘初心 2020-10-08 围观(1177) 评论(0) 点赞(5) JAVA开发

    阅读更多
  • 【原】org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

    JAVA开发org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

    最近在升级个人博客的过程中,真的是碰到很多框架版本问题,分分钟就冲突了,分分钟就导致项目启动不了了,这不,前脚刚解决完hibernate-validator的问题,立马tomcat服务又启动失败了。详细错误信息如下:08-Sep-202022:31:15.567严重[RMITCPConnection(3)-127.0.0.1]org.apache.catalina.startup.ContextConfig.processAnnotationsJarUnabletoprocessJarentry[module-info.class]fromJar[...

    不忘初心 不忘初心 2020-10-05 围观(1886) 评论(0) 点赞(28) JAVA开发

    阅读更多
  • 【原】An attempt was made to call the method org.springframework.data.redis.cache.RedisCacheManager.<init>(Lorg/springframework/data/redis/core/RedisOperations;)V but it does not exist.

    JAVA开发An attempt was made to call the method org.springframework.data.redis.cache.RedisCacheManager.<init>(Lorg/springframework/data/redis/core/RedisOperations;)V but it does not exist.

    将公司项目中的redis升级到2.1.3之后,发现项目启动不了了,直接报错:“Anattemptwasmadetocallthemethodorg.springframework.data.redis.cache.RedisCacheManager.<init>(Lorg/springframework/data/redis/core/RedisOperations;)Vbutitdoesnotexist.”。详细错误信息如下:ErrorstartingApplicationContext.Todisplaytheconditionsr...

    不忘初心 不忘初心 2020-10-03 围观(1116) 评论(0) 点赞(28) JAVA开发

    阅读更多
  • 【原】无法访问org.apache.http.annotation.NotThreadSafe,找不到org.apache.http.annotation.NotThreadSafe的类文件

    JAVA开发无法访问org.apache.http.annotation.NotThreadSafe,找不到org.apache.http.annotation.NotThreadSafe的类文件

    公司项目中已经有了自己封装的HttpUtil工具类了,新来的同事没仔细看,又自己封装了一个httpclient,在这个过程中,还碰见了一个版本号不对应的问题,导致报了一个错误:“java:无法访问org.apache.http.annotation.NotThreadSafe,找不到org.apache.http.annotation.NotThreadSafe的类文件”。经检查,发现是因为他引入的两个httpcomponents的包有问题,他在pom.xml引入的两个依赖如下:<dependency><groupId>or...

    不忘初心 不忘初心 2020-10-02 围观(3847) 评论(0) 点赞(2) JAVA开发

    阅读更多
  • 【原】can not access a member of class org.springframework.boot.autoconfigure.condition.OnClassCondition with modifiers

    JAVA开发can not access a member of class org.springframework.boot.autoconfigure.condition.OnClassCondition with modifiers

    公司之前部署项目的服务器中的tomcat版本不是很新,最近在部署新服务器的时候,我尝试了tomcat8.5.33版本,结果没想到,打包部署上去之后,分分钟报错:“Classorg.springframework.core.io.support.SpringFactoriesLoadercannotaccessamemberofclassorg.springframework.boot.autoconfigure.condition.OnClassConditionwithmodifiers"".”,猝不及防,一脸懵逼。详细错误信息如下:09-Sep...

    不忘初心 不忘初心 2020-10-02 围观(1444) 评论(0) 点赞(7) JAVA开发

    阅读更多

站点信息

  • 网站程序:spring + freemarker
  • 主题模板:《今夕何夕》
  • 文章统计:篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们