慢SQL说起:淘天交易订单表如何做索引优化
本文以淘天电商订单表的慢SQL优化实践为切入点,系统剖析了非典型慢SQL的成因与排查方法,深入讲解了索引分类、B+Tree与B-Tree结构差异、执行计划解读及Query Profiler等诊断工具的使用,并结合大表索引变更案例,总结了索引优化理论与线上SOP,提炼出常见慢SQL问题的解决策略。
分布式事务Seata
本章节深入探讨分布式事务问题,涵盖CAP定理与BASE理论,重点讲解Seata框架的XA、AT、TCC及SAGA四种模式原理与实现,并指导搭建高可用TC服务集群,确保微服务架构下的数据一致性与系统可靠性。
ES分布式搜索引擎入门
本课程介绍Elasticsearch的核心概念与应用,涵盖倒排索引原理、IK分词器使用及Java Client操作,实现高效全文检索、增删改查、批量导入、查询优化等功能,提升搜索性能与体验。
异步消息组件MQ高级
本文详细讲解了消息队列(RabbitMQ)的可靠性保障机制,涵盖生产者重试与确认、消费者确认、消息持久化、幂等性处理及延迟消息等核心方案,并通过自动取消超时订单场景实践,确保消息不丢失、不重复、最终一致。
整合切面,参数拦截+过滤
该类基于Spring AOP实现请求参数日志记录,通过@Aspect切面拦截Controller层入参,记录请求来源、URL、方式、方法及参数,并统计执行耗时,便于调试与监控,日志通过LogProxy输出,支持后续扩展存储或分析。
常见的Redis数据结构
字符串可存文本或数值;哈希存储键值对,适合对象属性;列表为双向链表,支持队列和栈操作;集合存储无序不重复元素,支持交并差运算;有序集合按分数排序;地理空间索引管理位置信息,支持附近搜索。
常见的Linux指令
本文介绍了20个常用Linux命令,涵盖文件与目录操作(如ls、cd、mkdir)、文件内容查看(cat、grep)、进程管理(ps、top)、权限设置(chmod、chown)、网络操作(ping、ssh、scp)及系统服务管理(systemctl)等,适用于日常运维与开发,帮助用户高效管理Linux系统。
详解RAG五种分块策略,技术原理、优劣对比与场景选型之道
RAG通过检索与生成结合,提升大模型在企业场景的准确性与安全性。分块策略是其核心,直接影响检索效果与答案质量。本文系统解析五种主流分块方法——固定大小、语义、递归、基于结构及LLM分块,对比优缺点与适用场景,助力构建高效、可靠的RAG系统。
让AI真正读懂长文本的秘密武器
通义实验室推出QwenLong-L1.5,基于Qwen3-30B-A3B打造的长文本推理专家。通过高质量多跳数据合成、稳定强化学习算法与突破窗口限制的记忆框架,系统性解决长文本“学不好、用不了”难题,在多跳推理、超长上下文等任务中媲美GPT-5与Gemini。
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,即泛型信息被移除,替换为原始类型(如Object或限定类型)。这导致List<String>和List<Integer>在运行时均为List,引发类型安全、多态冲突等问题。编译器通过桥方法、自动强转等机制解决部分问题,但静态成员不能使用类的泛型参数,且基本类型需用包装类。
整合切面,参数拦截+过滤
该类基于Spring AOP实现请求参数日志记录,通过`@Before`、`@Around`和`@After`切面拦截Controller层方法,自动记录请求来源、URL、方式、参数及执行耗时,便于调试与监控,日志通过LogProxy输出,提升系统可观测性。(238字)
ArrayList扩容机制
本文深入解析ArrayList的add及扩容机制。添加元素时,先调用ensureCapacityInternal()确保容量,首次默认扩容至10;每次扩容为原容量的1.5倍(通过位移运算优化),并结合modCount实现快速增容与赋值。同时辨析length、length()、size()的区别,帮助理解Java中不同数据类型的长度获取方式。
1.开发篇(脚手架下载)
本文介绍基于Spring Cloud Alibaba与Kubernetes的微服务开发实践,重点分享项目初始化与本地启动的高效工具。通过阿里云EDAS 3.0及配套插件,开发者可快速搭建应用并自动对接注册中心,显著提升开发体验。后续将深入讲解云端部署与端云互联能力。
SpringBoot集成Jenkins
基于阿里云CentOS环境,配置JDK1.8后通过YUM安装Jenkins,手动设置JDK路径并修改启动用户为root及端口为8081,成功启动服务。后续安装Git、Maven并配置阿里云镜像与环境变量,完成插件初始化设置,实现持续集成环境搭建。
线程池:故障梳理总结
本文从故障与技术双重视角,总结线程池满导致服务不可用的常见原因及应对策略。涵盖数据库慢查询、热更新、DDL 锁表、深分页等典型故障案例,并深入分析 Dubbo、HTTP、Druid 等连接池超时设置、资源隔离与限流保护机制,帮助开发者快速定位问题并实现 fast-fail 防护,提升系统稳定性。
容器引擎Docker
Docker是一种容器化技术,通过镜像打包应用及依赖,实现跨环境无缝迁移。它利用容器隔离运行,解决开发、测试、生产环境不一致问题,相比虚拟机更轻量、高效,提升部署与运维效率。
3.部署篇(工具部署)
本文介绍EDAS在Kubernetes上围绕SpringCloud应用部署的完整工具体系,涵盖IDE、Maven、CI/CD、Terraform及CLI等多种部署方式,适配开发、运维与DevOps场景,并强调命名空间隔离与安全控制,为应用高效、安全发布提供全面支持。
第七章 SpringBoot框架
SpringBoot简化了Spring开发,核心功能包括starter起步依赖、自动配置和内嵌服务器支持。通过条件注解实现Bean的自动化加载,支持自定义starter,并提供多种外部配置方式,提升开发效率与项目可维护性。(238字)
容器化部署引擎Docker
Docker是一种轻量级容器化技术,通过镜像打包应用及依赖,实现跨环境一致部署。它利用沙箱机制隔离容器,解决开发、测试、生产环境差异与组件兼容性问题,相比虚拟机更高效便捷,提升应用交付效率。
2.部署篇(开发部署)
本文介绍如何将SpringCloud应用部署到Kubernetes云端,基于EDAS实现快速上云。涵盖集群导入、应用初始化及通过IDE插件高效部署,助力开发者提升发布效率。
[MES]不合格订单接入提醒功能(☆☆☆) 1.代码运行
本文介绍入职后如何快速搭建开发环境并运行项目,包括克隆代码、配置JDK/Maven/Git等工具的求助策略,并模拟真实需求:实现不合格工单超30分钟自动通知(短信/钉钉),涉及Git、Maven、SpringBoot及定时任务技术,提升新人实战能力。
ArrayList扩容机制
ArrayList添加元素时,先调用ensureCapacityInternal()确保容量,首次添加时默认扩容至10。每次扩容通过grow()实现,新容量为原容量的1.5倍(oldCapacity + (oldCapacity >> 1)),提升性能。add第11个元素时再次触发扩容。length为数组属性,length()是字符串方法,size()用于集合获取元素数。
Java泛型类型擦除以及类型擦除带来的问题
Java泛型在编译时会进行类型擦除,所有泛型信息被移除,替换为原始类型(如Object或限定类型)。例如,List<String>和List<Integer>在运行时均为List,导致无法通过instanceof判断泛型类型。类型检查在编译期完成,基于引用而非实际对象。擦除后,编译器自动插入强制转换保证类型安全。但这也引发多态冲突、静态成员限制等问题,需通过桥方法等机制解决。基本类型不能作为泛型参数,静态上下文中也不能使用类级别泛型参数。
持久层框架MyBatisPlus
本文介绍如何使用MyBatis-Plus(MP)简化单表增删改查操作。通过引入MP依赖并继承BaseMapper,可省略重复SQL代码,实现CRUD功能自动化。结合@TableName、@TableId等注解处理表字段映射异常,并利用QueryWrapper、UpdateWrapper构建复杂查询与更新条件。同时支持自定义SQL与条件构造器结合使用,提升开发效率与代码可读性。
2. 整合切面,参数拦截+过滤
该类基于Spring AOP实现请求参数的前置拦截与日志记录,自动捕获Controller层请求的URL、IP、方法、参数及响应耗时,便于调试与监控,支持后续扩展如数据脱敏或存储。
1. 整合Logback,滚动记录+多文件
`logback-spring.xml` 是 Spring Boot 项目中的日志配置文件,用于定义日志输出格式、级别、路径及滚动策略。支持控制台与文件输出,按日志类型(如 INFO、ERROR、SQL、JOB 等)分类存储,便于排查问题。通过 `LogProxy.getLogger("XXX_LOG")` 获取指定日志实例,实现精细化日志管理,适用于多环境部署与调试。
@Inherited
@Inherited是Java元注解,用于修饰其他注解,使其在类继承中可被子类继承。当父类使用被@Inherited修饰的注解时,子类自动获得该注解;但接口间继承或类实现接口时不生效。
认证源码分析与自定义后端认证逻辑
本文深入分析Spring Security认证流程,从UsernamePasswordAuthenticationFilter到AuthenticationManager、ProviderManager,逐步解析认证机制。重点讲解自定义UserDetailsService实现、权限封装及SecurityContext存储过程,帮助开发者掌握基于数据库的自定义认证实现方法。
2.通用权限管理模型
本文介绍了ACL和RBAC两种常见的权限模型。ACL通过直接为用户或角色授权,实现简单但管理复杂;RBAC则基于角色分配权限,结构清晰、易于维护,并细分为RBAC0至RBAC3四个等级,逐步引入角色继承与职责分离机制,提升系统安全与灵活性。
1.自定义认证前端页面
本文介绍Spring Security前后端整合实现登录认证的完整流程。包含前端login.html页面引入、后端HelloController接口定义及SecurityConfig安全配置类详解,重点讲解权限控制、表单登录、CSRF关闭等核心配置,并通过启动验证展示访问控制效果,帮助快速掌握基础安全防护机制。(238字)
2.OAuth2.0实战案例
本文介绍基于Spring Boot与Spring Cloud的OAuth2安全认证实现,涵盖父工程搭建、资源服务与授权服务配置,并演示授权码、简化、密码及客户端四种模式的全流程测试,实现安全的分布式系统权限控制。
大数据与机器学习
大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。