Java 与 Spring
旧博客文章迁移分类
文章如何优雅的在事务提交/回滚前后插入业务逻辑
本文介绍如何利用Spring的TransactionSynchronizationManager在事务提交前后注册回调,优雅地实现自定义逻辑,如统计注册商户成功和失败数量。通过事务回调接口,可在不影响原始业务代码的情况下,在事务生命周期中执行额外操作,提升代码可维护性和优雅度。
MyBatis-Plus处理JSON字段配置
本文详细介绍了在MyBatis-Plus中处理数据库JSON类型字段的完整步骤。首先需要在数据库表中定义JSON字段,然后在实体类中通过@TableName和@TableField注解配置类型处理器,最后通过业务代码进行测试验证。文章提供了完整的代码示例,包括数据库建表语句、实体类定义、Mapper接口和Controller实现,展示了如何正确映射和查询J。
文章JVM性能优化之GC日志分析
GC日志分析是JVM性能优化的关键。通过配置JVM参数可获取详细的GC日志,记录内存回收情况。利用GCeasy等工具可将日志数据可视化,生成内存使用、吞吐量、停顿时间等图表,帮助开发者快速定位内存泄漏、频繁GC等性能瓶颈,从而进行针对性优化。
文章Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合
本文全面介绍了Java 8 Stream API的使用,通过大量实例详细讲解了流的创建、遍历、筛选、聚合、映射、归约、收集、排序等核心操作。Stream以声明式处理集合数据,使代码更简洁高效,并支持并行流以提升性能。
文章Spring中的Jdk动态代理与Cglib动态代理
AOP动态代理包括JDK代理和Cglib代理。JDK代理基于接口使用反射,Cglib代理基于类生成子类。区别:JDK需接口,Cglib不需;Cglib目标类不能为final。
文章SpringBoot中RabbitMQ死信队列介绍和使用
死信队列确保消息在无法正常消费时不被丢弃,通过转移到专用队列进行后续处理。触发场景包括:消息被拒绝且不重新入队、过期或队列满被挤出。实现时需配置死信交换机与队列绑定,以接收和处理异常消息,保障系统可靠性。
文章深入理解线程池--ThreadPoolExcutor
Java线程池通过ThreadPoolExecutor实现,使用corePoolSize、maximumPoolSize等参数管理线程。任务先由核心线程处理,队列满时创建额外线程,超过限制时触发饱和策略。常见阻塞队列包括ArrayBlockingQueue和LinkedBlockingQueue,四种标准线程池如newFixedThreadPool提供不同。
文章轻量级CI/CD自动构建平台Gitea+Drone保姆级实践教程
本文介绍了如何利用轻量级代码托管工具Gitea和持续集成平台Drone搭建高效的CI/CD系统,涵盖安装配置、Spring Boot项目示例、资源消耗对比及常见问题解决,突出其易用性和低资源占用优势。
文章过滤文本中的敏感词汇
蘑菇博客作者陌溪发现留言区存在不当言论,为净化评论环境,采用字典树技术实现敏感词过滤系统。该系统通过读取敏感词文件构建前缀树,并设计过滤算法将敏感词自动替换为星号,有效提升了评论管理的自动化水平。