所有文章

  • 【原】利用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 围观(244) 评论(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 围观(219) 评论(0) 点赞(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 围观(363) 评论(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 围观(1165) 评论(0) 点赞(10) JAVA开发

    阅读更多
  • 【原】在本地vue项目中进行npm install失败,提示错误:npm ERR! cb() never called!

    WEB前端在本地vue项目中进行npm install失败,提示错误:npm ERR! cb() never called!

    这两天在整理学习笔记的时候,发现之前记录过一个问题,在本地vue项目中进行npminstall失败,提示错误:npmERR!cb()nevercalled!,跟以前的项目也没什么不一样,当时忘记截图了,后来窗口关掉之后没法复现了,在我查资料的时候发现了一篇类似问题的文章,借用一下他的图片。详细错误信息:D:\workspace_ued\xszz\pc>npminstallnpmERR!cb()nevercalled!npmERR!Thisisanerrorwithnpmitself.Pleasereportthiserrorat:npmERR...

    不忘初心 不忘初心 2021-12-06 围观(319) 评论(0) 点赞(11) WEB前端

    阅读更多
  • 【原】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 围观(511) 评论(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 围观(707) 评论(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 围观(266) 评论(0) 点赞(4) JAVA开发

    阅读更多
  • 【原】anywhere在linux服务器上执行失败:Error: spawn xdg-open ENOENT

    WEB前端anywhere在linux服务器上执行失败:Error: spawn xdg-open ENOENT

    之前的一个gis相关的项目中,碰到一个奇葩问题,直接将项目整个部署到tomcat中时,gis的底图一直出不来,一番排查之后发现是因为不能访问地图的json文件夹导致的,也就是不光要访问到具体的json文件,还要能访问到json文件所在的文件夹目录,这个是tomcat容器本身的限制,所以最终选择将gis底图所在的目录单独拎出来当做一个项目,利用anywhere来对外提供服务。改为anywhere对外提供服务之后,问题得到解决,本地联调很顺利,但是发布到线上之后,发现anywhere启动不了,报错:Error:spawnxdg-openENOENT。详...

    不忘初心 不忘初心 2021-12-02 围观(1059) 评论(0) 点赞(15) WEB前端

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

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

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

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

    阅读更多
  • 【原】缺少sass依赖的环境导致npm install失败

    WEB前端缺少sass依赖的环境导致npm install失败

    使用eladmin的时候,在npminstall时解决了babel的问题之后,又出现了一个关于sass的问题,这次的错误信息提示倒是很明确了,可以一眼就定位问题所在,是关于python和visualstudio的。详细错误信息如下PSD:\workspace_ued\eladmin-web>npminstallnpmWARNdeprecated@hapi/topo@3.1.6:ThisversionhasbeendeprecatedandisnolongersupportedormaintainednpmWARNdeprecated@hapi...

    不忘初心 不忘初心 2021-11-06 围观(1920) 评论(0) 点赞(19) WEB前端

    阅读更多
  • 【原】对开源项目eladmin进行npm install因为版本不匹配导致失败

    WEB前端对开源项目eladmin进行npm install因为版本不匹配导致失败

    最近要做一个新的后台管理项目,在网上溜达了一圈,看中了eladmin这个开源项目,可是在进行npminstall的时候直接就失败了,看起来似乎是因为babel的缘故,但错误信息看的也不是很清晰,没办法第一时间确定下来,只能慢慢调试。详细错误信息如下:PSD:\workspace_ued\eladmin-web>npminstallnpmERR!codeERESOLVEnpmERR!ERESOLVEunabletoresolvedependencytreenpmERR!npmERR!Found:@babel/core@7.0.0npmERR!n...

    不忘初心 不忘初心 2021-11-05 围观(435) 评论(0) 点赞(1) WEB前端

    阅读更多
  • 【原】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 围观(326) 评论(0) 点赞(0) JAVA开发

    阅读更多
  • 【原】Nginx部署Vue项目并配置多个不同的代理转发

    WEB前端Nginx部署Vue项目并配置多个不同的代理转发

    vue为我们提供了两种路由模式:hash、history,如果使用hash模式,那么在url上就会带有#号,页面之前的切换都是由vue-router自己来控制的,所以我们部署到服务器上之后,无需做额外的配置就可以使用,可一旦我们想要是用history模式,如果不做额外配置,那就会发现一件神奇的事情,从首页index.html开始一层层访问的时候一切正常,一旦你想直接访问首页之外的一个url就会出现404。如上图,官方已经明确说明,因为vue单页客户端应用的性质,若想要直接访问而不404,那就需要后端提供支持,为此,vue-router官网也给我们推...

    不忘初心 不忘初心 2021-07-25 围观(834) 评论(0) 点赞(3) WEB前端

    阅读更多
  • 【原】js监听浏览器关闭、前进、后退事件,切换网页之前给出confirm提示

    WEB前端js监听浏览器关闭、前进、后退事件,切换网页之前给出confirm提示

    在平时写博客的过程中,最害怕的就是眼瞅着文章写完了,还没来得及保存,就手抖将网页关掉了,那感觉不是一般的酸爽,尤其是笔记本触摸板不好用的时候,稍微手一滑,前进后退一下网页,辛辛苦苦写了几小时的文章就丢了,此时就很希望在网页切换和销毁的时候能有一个confirm提示,今天就来教大家如何避免这种事情发生,几行js就能搞定。在各大博客网站(如:csdn、思否、简书)中,都有这个功能,大家平时可以稍微注意一下,效果如下图所示:此时,如果我们选择了取消,那么系统将会阻止这一次的操作,能很大程度上防止误操作。不多哔哔了,这酸爽,谁用谁知道啊,直接上代码了。wi...

    不忘初心 不忘初心 2020-10-16 围观(233) 评论(0) 点赞(9) WEB前端

    阅读更多

站点信息

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