自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring事务传播行为总结

Spring事务传播行为定义了事务方法的调用规则。REQUIRED是默认行为,存在事务则加入,否则新建;REQUIRED_NEW总是新建事务;SUPPORT支持但不强制事务;NOT_SUPPORT强制非事务执行;MANDATORY要求调用方必须有事务;NEVER禁止调用方有事务;NESTED在已有事务中创建嵌套子事务,适用于批处理场景,允许部分失败不影响整体。这些规则通过@Transactional注解的propagation属性设置,用于控制事务边界和异常处理策略。

2026-01-21 19:38:26 18

原创 CMS垃圾回收器(Concurrentn mark sweep)

CMS垃圾回收器调优摘要:CMS(Concurrent Mark-Sweep)是一种以低延迟为目标的并发垃圾回收器,通过三色标记、写屏障和增量更新机制实现。其核心阶段包括初始标记(STW)、并发标记、重新标记(STW)和并发清除。关键调优参数包括:设置并行标记(-XX:CMSParallel*)、触发阈值(-XX:CMSInitiatingOccupancyFraction)、压缩策略(-XX:UseCMSCompactAtFullCollection)等。主要痛点包括并发失败、内存碎片和浮动垃圾问题。优化

2026-01-09 19:43:55 464

原创 Synchronized不同锁状态下获取锁的流程

摘要:本文详细分析了Java中三种锁(重量级锁、轻量级锁、偏向锁)的获取与释放机制。重量级锁通过ObjectMonitor管理线程竞争,包含快速抢锁、EntryList排队、非公平唤醒等阶段;轻量级锁通过CAS操作和LockRecord实现无竞争情况下的高效同步,失败时升级为重量级锁;偏向锁优化单线程场景,通过标记线程ID实现零成本重入。三种锁根据竞争程度动态升级,其中重量级锁涉及线程阻塞/唤醒,轻量级锁依赖CAS自旋,偏向锁最适合单线程场景。锁状态转换受hashCode调用、wait/notify等因素影

2025-12-24 20:31:51 825

原创 线程池ThreadPoolExecutor的execute执行流程分析非源码,只有流程设计图,可以自行对照源码,有流程图会更好理解,从线程池五大状态的语义入手进行分析。

线程销毁的过程和线程数扣减的挂钩,只有当线程数扣减成功,才会去销毁线程,这个销毁,指的是不可达之后,被gc回收,扣减线程数在getTask()进行,而线程的销毁则在processWorkerExit()方法,中间隔了一个runWorker()方法,因为可能存在异常,需要销毁线程,这个时候由于没有扣减线程数,所以需要在processWorkerExit()方法中单独判断是否发生异常,如然后扣减线程数。异常是不可预测的(任务抛异常、线程被意外中断),线程在执行任务时直接崩溃,根本走不到。

2025-12-21 20:30:39 727

空空如也

空空如也

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

TA关注的人

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