自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Mysql一条update语句的执行过程

https://zhuanlan.zhihu.com/p/639174065

2024-08-23 15:28:52 363

原创 TCP三次握手与socket连接建立的对应关系

监视监听套接字的状态,以检测全连接队列中是否有新的连接。当全连接队列中有新的连接时,监听套接字会变为可读状态,这些系统调用会返回,通知应用程序可以调用。函数来处理新的连接。

2024-08-19 11:16:46 128

原创 服务器和客户端通过bind、listen、accept、select\poll\epoll建立连接的流程

服务器端创建监听套接字。通过bind绑定监听套接字到特定IP地址和端口。通过listen开始监听传入的连接请求。使用selectpoll或epoll等待并处理连接请求。当有新的连接请求时,调用accept函数创建一个新的已连接套接字用于数据传输。新的套接字和监听套接字的ip和端口相同客户端创建套接字。设置服务器的IP地址和端口。通过connect连接到服务器。通过上述步骤,服务器和客户端可以成功建立TCP连接,并通过新的已连接套接字进行数据传输。

2024-08-19 10:55:15 778

原创 JVM OOM及频繁fullGC问题排查

Full GC和Young GC问题排查:线程池参数不合理

2024-08-01 14:49:02 393

原创 频繁youngGC排查

效果:young gc max 从27次/分钟,降低到11次/分钟,STW time 从560ms,下降到250ms,服务每秒停顿时间变短了。动态平衡:应用没有设置eden区域大小(从参数上来看没有设置 –xmn ),默认eden 最小值是 总堆栈的5%,最大值为60%有时候默认分配的非常小,导致youngGC频繁。G1NewSizePercent 这个不是随便设置的,而是根据hickwall 中eden 的平均使用大小来计算的。eden 大小分为动态平衡和固定大小,如果不设置,则默认为动态平衡。

2024-07-26 15:21:06 202

原创 多级缓存架构设计思路与实现

一种多级缓存的设计思路与架构图,能够有效防止缓存穿透、缓存击穿、缓存雪崩、热key问题,同时实现缓存的实时更新、与缓存更新削峰

2024-07-26 15:19:03 771

原创 线程饥饿死锁问题排查

从错误日志不能看出具有哪个线程有问题,通过线程统计线程数量看出是线程池,然后看监控发现队列确实满了。每个外层异步都会从线程池中申请一个线程执行内层异步,由于此时已经没有线程,内层异步的任务被排入任务队列中,没有执行。外层异步会在内层异步的get方法处等待,而内层异步等待外层异步完成释放线程,因此进入死锁。在某个时间范围内,线程池的所有活跃线程都去执行外部异步调用,导致可用线程数为0。效果:线程死锁解决,线程池任务队列满导致抛出的异常不再产生。使用线程隔离:内外层使用不同线程池。

2024-07-15 10:34:18 112 1

原创 Spring事务失效的几种情况及其解决方案

spring 事务底层使用了 aop,也就是通过 jdk 动态代理或者 cglib,帮我们生成了代理类,在代理类中实现的事务功能。中设置了使用 MyISAM 引擎,因为它本身是不支持事务的,这种情况下,即使在程序中添加了 @Transactional 注解,那么依然不会有事务的行为,也就不会执行事务的自动回滚了。在同一个类中的方法直接内部调用时,直接调用了 this 对象的方法,没有使用代理对象的方法,因此会导致事务失效。注意:如果某个方法是 static 的,同样无法通过动态代理,变成事务方法。

2023-04-26 18:50:22 340 1

原创 Spring的Bean创建过程

spring将内部管理的诸多对象称为一个个bean,而这些bean的创建流程大致分为两个大阶段: 下面本人将从上述两个阶段来阐述bean的完整创建过程。 在对象进行创建之前,spring容器需要了解所创建的对象的信息,才能在后续阶段根据了解的信息创建bean对象。这些信息即是实际工作中我们为对象所写的配置信息,它们一般以xml文件、properties文件和注解的形式存在于我们的项目之中。 一个以xml文件为存储形式的bean配置文件如下: 因此,

2023-04-25 19:40:39 1711 1

空空如也

空空如也

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

TA关注的人

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