自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 服务器内存报警问题定位

6、在堆栈信息中定位到了接口,生产上查询接口日志,发现有大量的这个接口请求,集合前面的分析,初步断定,因为接口请求太多,导致占用大量Http11Processor对象不能释放。5、带黄色点点得就是gc root,可以看到是一个tomcat得任务线程,点击选择Java base ->thread detail可以查看这个线程的状态堆栈信息。3、详情中可以看到object对象中加载了好多org.apache.coyote.http11.Http11Processor。2、下滑,查看可以点得详情。

2025-03-19 16:46:49 125

原创 maven多模块继承和聚合简单理解

整合模块的作用主要是为了打包方便,父项目在统一构建时,会根据子项目之间的依赖关系依次构建各个模块,例如yudao-framework模块依赖yudao-dependencies就会先构建yudao-dependencies,yudao-dependencies的相关jar被打入仓库后,再构建yudao-framework就可以使用yudao-dependencies的jar包了。在多模块开发中,父项目的打包方式是pom,因为父项目的主要作用是整合各个模块,统一管理依赖,锁定依赖,没有代码逻辑。

2024-08-02 17:38:37 341

原创 mysql大表优化分享

最近生产上有一张日志表超级大,数据几千万已经统计不出来了,2千万的时候就已经查不动了,而且每天还200w的增长着,现在空间已经占到90g,这个日志还很重要,数据不可以删,而且时不时的进行统计,因为统计的时候统计不动,最开始想的办法是一天一天的统计,刚开始很慢但是能统计出来,现在一天的数据也很难统计了。send_erro表:如果send_statistic表中发送官微消息失败,就在send_erro中记录一下发送官微的报文和错误信息,并于排查问题。text字段二:推送官微消息的报文。

2024-06-24 17:21:49 129 1

原创 RabbitMQ消费者

如上设置,有2个channel,每个channel一次获取2条消息,acknowledge-mode: manual设置消费者手动应答, RabbitMQ给每个channel推送消息后,如果有一个消息没有应答,RabbitMQ就不会再推送消息了,unacked表示推送给消费者但是没应答的消息,ready准备推送的消息,下图可以看到2个channel一共获取4个消息一直不应答,剩余3个消息就一直不推送。通过确认消息传递和跨集群复制消息的功能,您可以使用 RabbitMQ 确保您的消息是安全的。

2024-06-07 17:55:31 771

原创 mysql保存数据时间多1s问题分析

后来就分析了一下发现,其实在new Date()时,这个时间得精度是到毫秒得,我们可以通过getTime()方法拿到时间戳,时间戳得后3位代表毫秒,在网上用时间戳转换工具转换一下,发现时间戳转时间得时候,有四舍五入得情况,而我们存在mysql库中得时间一般是精确到秒的,这就导致自动四舍五入掉了,出现多一秒的情况,而时间日期格式话的时候是直接抹去毫秒的,这就导致了推送给其他系统得数据和我存得数据不一致的情况。每一次遇到的小问题,都是对技术的一次深度思考,记录一下,希望一起共勉;

2024-05-17 17:44:08 402

原创 mysql执行原理深度理解

在最开始提出的问题中就是这样,g表数主表,预估行数是5194,每一行关联3张从表的时候都需要全表扫面,就以从表500条数据算,g表每条数据都需要扫面1500条从表数据,那5194条就需要扫面5194*1500次,所以肯定很慢呀,加上索引后,g表关联3张从表只需要扫面5194*3,所以效率大大提升了。即使sp,sc,sa这3张表数据量很小,但是都是全表扫面,如果扫面的次数多了也是很费时的,这就设计到了在多表关联查询的时候,sql到底是怎么执行的。

2024-05-08 17:58:31 413

原创 java retry:详解

retry:标记法控制循环执行逻辑

2024-04-26 17:41:05 393 3

原创 JDK自带的定时任务Timer和ScheduledExecutorService详解

首先大概了解一下ExecutorService, ExecutorService其实就是是Java提供的线程池技术,也就是说,每次我们需要使用线程的时候,可以通过ExecutorService获得线程。查看ExecutorService源码,其中得方法主要是使用线程执行任务或者中断线程等,其实就是操作线程得方法,ExecutorService其实是一个接口,具体得实现使用ThreadPoolExecutor。查看源码发现,Timer中内置了一个任务队列和一个调度线程,这2个都是Timer中的内部类。

2024-04-19 18:19:33 1323 1

原创 mysql update select

有这样一个需求,就是需要刷新表中原来的数据,把描述转存成编码,就用到了update select 语句(注意:必须使用inner join)

2024-04-17 16:17:40 294 1

原创 使用mat分析内存溢出

mat内存分析过程

2024-04-03 18:03:46 1599 1

原创 利用数据库事务解决数据安全问题

单线程中,事务的原子性,一致性,持久性基本能保证数据的一致性,完整性,正确性,但是实际项目中,程序都是并行执行的,也就意味着事务是并行执行的,事务并行执行时,也可能会出现一些问题,也是现实工作中需要关注的问题,例如数据的幻读,脏读,非重复读,丢失修改等问题。是指在一个事务内,多次读取同一数据。除了以上隔离级别可以控制得情况外,还有一种就是丢失修改,错误覆盖得情况,T1事务和T2事务同时修改,导致数据被错误修改,这种情况可以使用乐观锁,即在更新数据得时候条件中增加版本号状态等字段。

2024-02-29 14:39:31 357

原创 代码生成器-mybatis-plus-genarator 旧版本

编写重复简单的代码对于每个程序员来说,应该是一件相当烦躁的工作,代码生成器就很好的帮助你解决了这个问题。对于不同的项目,架构多少有些不一样,针对性的生成代码就使用到了模板引擎,freemarker就是一个很不错的模板引擎,使用简单便捷。2.旧版本mybatis-plus-generator只能生成后端相关代码,前端代码不好操作,如果想使用更全面的配置,可以使用新版本代码生成器,具体参考官方文档。模板service.java.ftl。模板mapper.java.ftl。模板mapper.xml.ftl。

2024-01-31 13:20:48 563

原创 小表关联大表优化

作为一名女程序员,从事java开发多年,经验越来越多,但是记性真是越来越差了,哈哈😄所以决定以后多写微博记录下来,方便以后翻阅,也希望能够帮助到一些正在学习路上的朋友。不过这种方案也只能暂时解决问题,因为B表数据每天都在增加,一年就要增加300w,所以后面还是需要分表解决的。以上就是我工作中的一些心得,希望和大家一起分享互相学习一下,如果有高手路过,欢迎指教!

2024-01-15 14:42:48 554

原创 慢sql优化

有一次我们需要同步我们得数据给集团,一共设计3张大表,我就叫它A,B,C把,A表差不多有300w数据,B表1000w,我只需要一年得数据,那就是A表100w,B表300w,最后关联查询出来去C表查询,我是10000条查一下,处理一次,循环10000次查C表,增加索引后其实还挺快了,因为是推送数据得场景,10000条数据差不多1分钟全部处理完成,一个月30w数据1.5h处理完成。以上就是我得一些学习心得,有什么说得不对得地方,欢迎大家指教!

2024-01-10 18:08:22 490

定时任务.txt

1.普通thread实现 2.TimerTask实现 3.ScheduledExecutorService实现

2019-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除